Is another thing I thought about it so many times. When a big power snowballs, there is no way to stop it. So I thought a way to fix it. The "threaten" factor. For example, the classical example of France and all the minors around them. There should be new types of "alliances" not exactly as we are used to. If there are 10 minors around France that have a threaten attitude towards them, that minors should be able to form a "confederation", a defensive pact between them against the big bad guy, I mean the possibility to fight a major power on a single front without depending on aggresive expansion.
So if France want to take Liege, Bar, or Aachen they have to fight against all of the dutch minors, the burgundian ones and the emperor in the same time. Is a logical behaviour. If I am a threatened OPM, and my neighbours all also threatened by the same power we should be able to fight united against them. And, it happened a lot of times through our European history. Duchies and Italian minors fighting against France with the help of Castille & Aragon. The "Catholic League" to defend Rome against France. And they were no allies, just they had common interests again a major foe.
So, it should work like Religious League. If I am the emperor, or Castille and I don't want France to expand his power towards east I should be able to help the minors in their confederation to fight against them without wasting "diplomatic relation slots". It should replace the AE system. Minors which existence is seriously threatened by a major power should have mechanisms to fight it involving in it other major powers interested on not having one of them snowballing.
All of this could be handled perfectly by coalitions.
Currently, coalitions are based on attitude and opinion only. This is what needs to change.