At this moment 'Morale' is used only in 'Boarding', but as the game is focusing to be more and more realistic (to some extent) it would be wise to apply 'Morale" during battle itself, while exchanging cannon fire, this is how i would see it:
1. 'Overall Morale' bar for each ship (simmiliar to armor), standard Upgrades and Ships grade/features affecting how high it is (the same as in boarding) - maximum level.
2. Morale drops (current value) slightly as soon as ship receives damage, crew damage or catches fire. The more damage is applied in very short period of time - few ships focusing broadsides at one target - the more morale drops.
3. 'Shock' effects provide instant decrease of current 'Overall Morale' by larger ammount.
4. Morale replenishes over time to starting/maximum level. Severe ship/crew damage, actions of enemy ships like capturing (boarding), sinking, escaping of allied ships lower the maximum level. Actions of allied ships in battle like capturing (boarding), sinking, escaping of enemy ships provide some restoration of current morale. Allied/Enemy 'Battle Rating' ratio might be considered into calculation.
5. If current 'Overall Morale' drops to zero ship automatically surrenders.
6. 'Brace' button provides instant boost to current 'Overall Morale'.
7. Optional: If morale gets very low, crew response is slower on all actions (cannons reload, yard turning, sails, etc..)
You can't fight being alone against many ships and expect that you crew will not mutiny or abandon ship under heavy fire, especially when they see allied ships sunk, captured or fleeing battle.