I get this problem when I get the merc too late and the enemies are too far above its level.
So, after you kill Blood Raven if instead of handing it in right away, you carry on playing through a few more areas then by the time you get the merc you're fighting stuff too high to give it xp.
When I get this problem I either re-hire or I go to the Blood Moor and the merc will get xp there. You may have to let the merc kill a few to start with, I can't remember but once it gets a few levels it's ok from then on.
I think it would solve the problem if the quest could be adjusted to give a merc that's (Player Level - X)? Where X is about 3.