So now it's impossible to attack city that have 30 k soldiers ? (since attackers need to at least 1/3 of force)
How about adding a hard cap to the attacker numbers needed instead?
As in, you need 1/3 of the troops, or 2k (or something that gets balanced) troops, whichever is lower. This way you can attack those huge towns a little bit at a time, you do not go over the time limit, and it would not be abusable because these amounts of troops take quite a while to achieve, so noone wants to lose them just for lols and abusing.