The game gets boring if players reach HQ22.
The best way to keep players in the game is to make the war system appealing.
I would suggest to revamp the war system similar to 'clash of clans', it does not need to be exactly the same but at least the concept:
1. Loot rewards: The player in the alliance who defeated the top player from the opponent should get the highest loot, and the player who defeated the lowest ranked player from the opponent gets the lowest loot. If you lost, you may get loot but significantly lower. In this way, players are motivted to constantly upgrade their attack units in order to attack strong opponents and also players are more willing to attack. You can also add the rare loot into the reward system (e.g. If the alliance won the war, each player who participated in the attack may get 1 war component from each kind).
2. Alliance perks/rewards or level: In order for the alliance to stay, there must be something of a reward system also. In clash of clans, as the clan levels up, the amount of loot each member receive also increases. At certain level, donated troops also automatically increases by 1 level or 2 levels depending on the clan level.
3. Friendly Challenge: I think it is good and fun to have friendly battle with your fb friends or alliance members. This you can also test and enhance your attack strategy and your defense strength.
These are only few I can remember. I hope zynga will look into improving the war system not just adding units or levels into the game. This is the best way to keep players loyal to the game.