What actually is the randomization on attacks? Is it just a flat rand()? The attacks on Catapults that I was seeing from my stack of Rogues was 6%, 15%, 21%, etc. I don't think I ever saw an attack larger than 1/4 their max attack value?
Also one aggregated stack per unit type targeting one unit at random allows an exploit. You should basically never go into battle without having 1 untrained unit of every single thing you have. You'll flood your army with so many false targets that can eat an entire enemy stack's attack for that turn. At basically no cost. It's only going to be one attack for that unit but if only 1/5 of my front line is real units then the odds of going several seconds of combat without them taking any attacks is pretty decent.