Nobody ever fights to the last man. Truly. Men get scared and run away in the heat of the moment. It’s not cowardice. It’s human nature and the will to survive. In order to portray that on the battlefield, there must be some rules to account for fear and panic. This is one category, IMHO, where many rules systems fall flat on their face. In war, panic is contagious and often leads to chaotic outcomes that can end a battle early. History is full of examples where one regiment might quit the field because one or two men were killed, or a whole army of raw troops route at the sight of a numerically inferior charging enemy. Should they stand these units stand their ground, they might have done well for themselves. But panic swept through the ranks and they chose a quick exit instead.
With this in mind, morale should be quite random. There should be bonuses for troop grade and leadership. A simple die roll plus bonuses should give a result on a chart as to how the unit will react to a situation. There are probably 2 kinds of morale checks. The first kind is done when units charge or are charged by an enemy. The second kind is a reaction to fire and melee casualties.
When a unit charges, we can move it to within 1″ of the target unit. From here the target unit will make a morale check to see if it stands, becomes shaken or even runs away. If it stands it may deliver a volley if allowed, during the shooting phase, possibly at a penalty if it became shaken (unnerved). From here casualties are assessed, and a morale check is done by the charging unit. If it passes, the charge is pressed home and melee is done during the melee step. If the unit fails this check, it will either halt and deliver a volley of its own (infantry) or rally back and regroup (cavalry). A really poor result will have both types flee a whole move in disorder.
Casualty checks occur at the beginning of movement, right before the affected unit is moved. If it fails, whatever the result is called for is that unit’s move for the turn. Otherwise, it will move and fight normally.
I would allow bonuses for terrain when checking to see if a unit stands a charge but not for any other check. There should be a penalty per figure lost when checking to see if a unit charges home. There should also be a penalty per quarter of a unit lost when checking for morale from casualties. Neil Thomas, in an article in Battlegames Magazine, pointed out the dreaded double bonus. That is, a unit gets a bonus protection when occupying terrain and also gets a morale bonus. If a unit should take casualties while occupying cover, they should not get the morale bonus since it is obvious that the cover is not working for them! I do allow a cover bonus for the test to see if a unit stands simply because nothing has happened yet and cover often emboldens the defender.
I guess that all that is left is to actually write the things in rules format with all the bells and whistles!