Okay, I'm adding a third to the two I've already given. Forgive me if this has already been suggested (haven't read all the posts above) or if it's already in TotA (haven't had much time to play yet!).
3. Implement serious consequences for breaking an Alliance. They shouldn't be something the player can just make and break on a whim, especially since the AI won't. If your civ is allied to another, then I think it's safe to assume that your citizens would look on the other civ quite favourably. Therefore, possible consequences of breaking an Alliance could be:
- large empire-wide hit to morale, which only wears off slowly over time
- a fraction of your empire decides they'd rather stick with their friends in the other civ, instead of stay with such an erratic leader, and they immediately defect.
Alliances should mean something, instead of just being a tool for the player to screw over the AI.
Again, my apologies if my information is out of date and Alliances work differently now, I've only been able to play sporadically lately.