There are a couple of other things I don't think have been touched on:
1) Using GGs pre-emptively. I tend to grab land on my borders before the AI does, and having citadels in strategic locations effectively prevents them from stealing certain tiles from you because of how citadels need to be placed.
2) Diplomatic relations. I've found that the AI will use GG preferentially against the person they dislike the most. Doesn't mean it won't ever happen but you it's less likely if they either don't hate you or even just hate someone else more.
That said... it's still annoying. But it's also fun to use myself! From my point of view, the main counterplay is still just using your own GG. And I do sometimes wonder if AI has an advantage in that it can afford to spam troops, so earns GG/GA points quicker. Which is not perfect, but I think the current situation is still very much improved from what it used to be - mainly due to better diplo logic from
@Recursive. I think the improvements/bugfixes to defensive pacts should also go some way to making GG use less egregious.
I think giving a global penalty for stealing territory would be unhelpful. Particularly because the people who have the most Great Generals and are most to be willing to do things that provoke people (i.e. steal land probably) also don't really care about diplo penalties. So I think doing that would hurt peaceful civs the most. I try to use citadels on neutral territory where possible, but as mentioned at a certain point in the game there is little neutral territory left.
On a seperate note there is the niche case of using a GG to reclaim territory that was lost during war - so it's not always agressive. In that case the people on that land might actually be glad to be reconnected.