One good way of helping out the AI when it's garissoning buildings would be to actually give artillery an ammo count, instead of infinite ammo. Artillery didn't have infinite ammo in these days, i don't know much about the time but i remember reading about Napoleon in Egypt sending his soldiers on to a beach to lure the enemy artillery into firing at them so they could pick the cannon balls up from the sand and use them in their own cannons, because their own had run out of ammunition.