Siege units are very vulnerable, and slow. Maybe instead -1 movement in enemy territory, they should simply have "spend all movement points when entering movement territory"?
Or, maybe instead movement penalty they should have 1 movement point for deployment, but get additional ranged defences when deployed?
Also siege have immediately Cover 1, so you can take Cover 2, this help a lot, since often siege units are usually priority targets by cities.
With ranged units im usually going for medics, at least until late game.
But honestly, if you attack 1 city, opponent can throw at you the whole army, so killing opponents units is much bigger problem, then attacking cities.
When you manage opponent army, usually the city isn't that big problem.
But still, i like to have about 5 siege units when attacking the cities, usually to switch damaged units to healthy.
But im glad, when 2 units are able to attack each turn, 3 is rarely possible..
And i'm always planning "the angle" so that my siege units can attack city from the distance, and at the same time, be protected from cavalry..
Maybe, instead be much more vulnerable to melee attack, siege units could be stronger, but lose action points, for melee attack taken on the same turn..
This would simulate, not that the canon was destroyed it self, but "the crew" was fighting/defending..
Thou, when you manage to kill the garrison of the city, then suddenly any attacks takes much more city HP..
Not sure about math and calculations, but maybe siege units should do more damage to garrison unit? As for now, i have feeling its barely noticeable..