I like that morale system. Basing it on reserves is pretty cool, and gives some incentive towards not keeping the field flooded as much as possible at all times.
Whether or not that randomness has any real impact depends upon, again, the pace of your battles and how important each unit is. Without knowing more, I can only recommend playtesting it - it's a simple element to remove, at any rate.
Also, I'll mention that when I include randomness into things like damage calculation I tend to go with a normal distrubution - that is to say, damage is centered around a particular mean (the unit's base damage value) and rarely deviate by much.