I propose that each city can only have a certain amount of defenders as a maximum. The reason for this is that a new player can very easily get into the game and some cities because they know their attack will be successful.
My idea is that a city can sustain 0.5% of it's population as defenders. So a 1,000,000 population city can support a defence of 5,000. As the city's population increases the effect of this limitation basically disappears because at the moment 10,000 should be enough to win most (except mine ) cities on the map.
It should mean it is not worth a larger net worth player fighting smaller players to hold on to a smaller city.
Bonus cities could be exempt from this rule.
This feature will need to be intergrated after the merge/split armies function is integrated though because you could attack a 1,000,000 city with 15,000 troops win and be left with 10,000. 5,000 would stay in the city and 5,000 would automatically be split into a new army and be sitting outside the city awaiting new orders.