I don't have much time to play so I only managed to get to brink of industrialization in my first game, but stumbled upon a thing that makes diplomacy infinitely better for me: If someone attacks your declared friend or city state you are suzerain of, you get grievences against them! Meaning if I join the war against a power that attacked my friend, I get to take a city from them without being yelled at by everyone about how warmongering I am!
I play England as Vicky and plan on establishing colony on next continent near Spain, who doesn't like me very much. I want to attack them as I'm ready to settle to take additional city and help with loyalty, but that would make me a warmongerer. Insetad, I made friend and recently ally of Japan who is neighbour of Spain and Spain already asked me like 6 times to joint war with them against Japan. I'll just wait until Spain finaly snaps and attacks Japan and then go in with grievances ready to take the city. For the Empire!