I'm kind of curious as to whether we could make a workaround via the Modding forum. Something along these lines...
A unique (one cast per battle) spell that 'Calls' your defenders into action.
This would take all of the 'Auto Summons' out of the core improvements files that creates the defenders, and instead would 'unlock' that spell/ability if you are in a city with that improvement present. And it could be a 'battle auto cast spell' that happens at the beginning of Combat, but then of course the question is, where do the defenders appear? Maybe in the 8 squares around the Sovereign?
The upside to this is that you could assign a different 'city defender summons' tech to each faction, so that they each summon their own unique mix of defenders tailored to them. Say, perhaps Tarth has more Archers in their mix, with one 'Marksman Archer' while Magnar has more Militia, and one 'hulking Brutish Axeman'...
The 'Downside' here will be that you will get a fresh new batch of defenders each time you have a battle. I suppose you could set up a 'counter stat' or something that is assigned to the Sov, that gets reset at the end of the turn. When the BattleAutoCastSpell happens, the spell will summon a number of defenders equal to the 'normal' amount minus the amount stored in this counter.
The Downside of this is that I'm not sure there is an easy way to control which cities get affected by this counter. I.E. you kill 4 defenders in City A, then someone attacks City B, which comes up 4 defenders short. UNLESS there is some way to create/modify the city stat during combat for that particular city, and the improvement for that city which 'enables' the Autosummons spell resets that counter at the start of the next turn, or perhaps regenerates over a period of turns, reducing the number by 1-2 each turn. Hmmm, unit count regeneration, I LIKE IT!
Back to the 'Sov defensive summons stat' approach. Instead of having city defender count tied to specific cities, each time a city gets an improvement that increases the City Defender count, the Sov's 'CityDefenseSummon Counter' goes up by one. Every time a unit is killed, the 'CurrentCityDefenderCount' counter is reduced by one. Each turn, the Sov regenerates the second counter by 1-2, which is then checked against the CityDefenseSummon counter (if it is higher, the second counter is reduced). This 'counter check' could be in the Spelldef for the various 'Autosummons', hence it is handled the next time you have a combat in a city. The various Summons spells would then check to see if the number of summons 'they' have in mind is equal to/less than the 'CurrentCityDefenderCount', then they function normally. If CurrentCityDefenderCount is less, that's the number used that determines the # units that get summoned.
This 'DefenderCount' approach is an interesting way to simulate the Sov shifting defensive assets around to protect his cities, without creating a bunch of new units to move around strategically on the map in the process. Essentially, the Defense Mashall/Sov 'senses' which cities are in danger, and shifts assets accordingly.
Using the approach above, if you wanted to get real fancy, you'd have 4-6 stats instead of just 2 (AllowedCountMelee, and CurrentDefenderCountMelee, AllowedCountMissile, CurrentDefenderCountMissile, AllowedCountspecials, CurrentDefenderCountSpecials). This way melee units could be tracked independently from Archers and 'Special Units'. (Not Special Needs units, although some units might have special needs...)
It's the 'battle is separate from the game map' thing that makes me skeptical r.e. whether you could tie the counter to battle in a specific city. If level modifiers and such are applied to the City Defenders (can't remember now if they are, or are not), then there may be a way for a 'Battle' to 'See' the city stats for the city they reside in.
As for Mr Guardian Statue or whatever, you could do the 'BattleAutoCastSummons' Counter thing, assign a Strategic Move of 0 to him and make his Summons last strategic 1 turn (e.g. that turn only), or have a counter that 'tracks' his hit points. At the beginng of the next combat (in the same round of course), deduct the amount stored in the Counter to determine his current hits (if this drops his hits to zero or less, you get to watch him die on turn one of the next battle). Yeah, this is a messy workaround for Gurardians. if they have a 1 strategic turn summon duration, 'and if you have 9 units in the city, he or somone else may get 'bumped' out of the city if they are unit 10+.
Or, you could simply argue that he is elsewhere in the City, and the second attack isn't near him. Yeah, that 'Feature' thing...