Rather than the moral rating they should lower the lethality of weapons / the speed of killing.
The battles in the RTW game last much shorter (+/- 15 minutes) than real battles.
they just literally hacked through the Romans with such speed it was unmatched.
The battle of Cannae lasted for almost one day - since late morning until early evening / late afternoon. Not such a high speed.
Unmatched was Kircholm 1605 - enemy army smashed in 1 hour, but chasing the routing enemy lasted for rest of the day and on the next day too.
Then for example Klushino 1610 lasted for 4 hours (also not including the time of chasing the enemy after the battle).
These are, however, not examples from the Classical age.
the casualty rate for a roman era war was 5 to 15% rather than the 50 to 75% you encounter in the game.
5 to 15% might be OK but for the victor. The defeated one usually (not always) suffered much more.
Regarding the 50 to 75% in the game - remember that in this game there is no such thing like "wounded".
Everyone is counted as killed. In M2TW they at least count captured separately.
At Canne - according to Livy - Hannibal's army suffered 8,000 dead (6,000 according to Polybius). But what about wounded? Sources don't say.
8,000 dead means that there was at least the same number (or likely even more) of wounded.
So in case of Cannae the "5 to 15% rule" applies to Hannibal's army only if we count just dead.
That Salsu battle is crazy!
Or the guy who invented these casualty figures was crazy.
BTW - even if the strength / casualty figures are true, this was rather a long-lasting campaign than just one battle.