Honestly, I think they should probably just make it more like how they had it in Warband, where the whole party got XP and it would stack for each unit type. It made it easier to level up lots of troops and I didn't think it felt too OP or too unrealistic. I think it makes sense that the whole party would get at least some XP even if they individually didn't get a kill.
And if you chose not to upgrade the units that were ready to be upgraded, it would make sense that those guys would share their experience with the rest of his type and then they get more XP. It also creates a strategic gameplay decision because for your next battle you won't have as many good troops with you and you risk losing the battle and/or those units, but you stand to gain the possible reward of even more troops able to be upgraded.