The fact that alliances can be finished is annoying. Betraying your ally is a shame. My suggestion is that one cannot declare war on someone if they have an alliance, that is plain disgusting.
The game is supposed to be a simulator of war. Alliances are broken and sides are switched. If you don't like that element, play in team games, where peace/alliances are disabled.