You could have a parallel process event running that checks if the actors' levels have changed, and if they are, recover their HP and MP.
Alternatively, you could use this snippet I just made up (anywhere in the Materials section of the script editor, preferably high up).
class Game_Actor < Game_Battler
alias hpmprec_lvl_up level_up
def level_up(*args)
hpmprec_lvl_up(*args)
@hp = mhp
@mp = mmp
end
end