Clausewitz said that an attacker needs a 3 to 1 advantage to ensure victory in a siege situation. The AI needs that when attacking me, but I only need parity to attack his cities.

Storming a city needs to be more costly - there is a reason why long sieges and blockading were favoured. The problem with any AI is that after a while it stops giving you trouble, and you work out what it will do in any given scenario.

I've played VH/VH with most factions and find them almost laughably easy - still enjoy the game though, and every now and then it suprises me.