Improvements to the morale system would have to be two-fold. You would need more ways to affect it on the campaign map before you have more ways it can affect a battle. If low party morale increased your chances of fleeing in battles in native Warband as it currently is, then I would probably lose at least twice as many battles (so, going from "few and far between" to "once a month or more"). This is because maintaining high morale in large parties for the player is quite difficult. Food variety and charisma/leadership/whatnot only go so far. I've wandered around with 30-50 morale in an army of ~100 top-tier troops that had excellent food variety and had recently won a couple of battles. The morale penalty from party size is huge, but if you want to be effective late-game you need a large party to take settlements. The only way to maintain a party of that size is food variety, paying wages every week, and constant successful combat. If you don't have a castle/city and your faction agrees to peace, you're going to have a bad time.
So, you need more ways to improve morale outside of battles. Soldiers love to train, so I think sparring at the training fields (or the equivalent in Bannerlord) should provide a small boost to morale. Training provides confidence and ability, so it makes perfect sense. This is just one example.
Morale's effect in battle is probably obvious. Basically, it should affect a tendency to rout. One way to calculate whether or not a unit routs could involve party morale and the unit's level, where unit level is used as a multiplier of sorts for party morale, and this is inversely proportionate to rout chance. So, a unit with high party morale but low level would have the same, low rout chance as a unit with low party morale but high level. A fight would practically be over before a high level unit routs, whereas a handful of nearby casualties could cause a low level unit with low party morale to run for the hills.