I think it's a good idea gameplay-wise. Consider that there's not much else you can do with some champions - i.e. you already have several good champions who need all the good equipment you can find, you get a new one who's not very useful by comparison and no spare gear for him, and including him in any army will both nerf the xp and weaken it (since he'd replace a more powerful trained unit). Right now steal soul is the best response you have to this situation, and it seems fair to give the spell some use for any champion it's cast on.
That being said, I think the game should include better answers to this problem. A few examples: more of the high level (7, 9) recruits should have unique abilities, like that lich who can gain mana from killing units. This would keep them useful when compared to your first champion, who is probably level 10+ himself (by the time you get a level 9 recruit), and also well geared and customized to fit your empire's needs. Also the xp split (as many have discussed) needs to be worked on, it made sense in the days when any champion was better than a trained unit, and they're really not anymore. Also if you really can't find a place in an active army for a new champion, there should be more you can do with them outside combat, the -5% unrest thing in a single city doesn't even justify the champion's wages (and they'll never get the xp to level up and maybe become useful somehow).