The way the diplomacy system is implemented, there's an inevitable downward spiral towards total world-wide free-for-all war. There is only one (!) way to gain a positive relation, and that is to declare friendship - but you can't do so if you don't already have a positive relation. This means that once you have an enemy, they're an enemy forever.
Look at the global politics tab of the diplomacy overview in any late-stage game. It's pure red. Everyone hates everyone else. It's not just everyone hates the player. No. Everyone hates everyone.
Several things are needed.
(a) Players (and AIs) need to be able to mend their ways, and be rewarded for doing so. I'm settling cities too aggressively? Ok, I'll stop settling cities. But I want to know that in 50 or 100 turns, if I don't settle any more cities, my diplomacy penalty goes away. Currently it doesn't.
(b) Denouncements need to be retractible. Again, look at global politics. Everyone has denounced everyone. Arguably, friendships need to be retractable as well, so that there'll be fewer "backstabbed" in the global politics, and less of the "your friend found reason to denounce you" crap.
(c) There need to be other ways to gain positive relations with other civilizations. There's one that I think would be simple and effective (stolen from city-state diplomacy). If player A and player B are both at war with player C, then any time player A kills a unit of player C, player B likes player A little bit more.
Also, other posts above mention reactions to denouncements - when A denounces B, C has the option of agreeing with A, ignoring A's denouncement, or politically defending B. However, I don't know if this would be too disruptive to game flow. Maybe the icon on the right side of the screen that announces the denouncement could have a click-menu to it, where by default you ignore the denouncement?