Heh. I had a similar idea and talked to Meta about it.
Puppet Master: Should a player go inactive then you can send in orders for them. This role will be given out as needed during the game. It can be an eliminator calling the shots for another eliminator or a villager taking over for another villager. You are not allowed to reveal that you are a puppet master nor can you vote/post for the player you have replaced. Should your main character die but your puppet lives you cannot post at all in thread or PMs except to send in orders. In this case the results will be posted either in Write up for Village or Doc for Eliminators.
Metas response:
In my experience, inactivity is just something that's kind of a given. There are some people that just won't play unless they have some Uber-Crazy-Fanciful role or if they're not an Eliminator. Trying to stop inactivity is kind of like offering granola to a child that is expecting candy; they're going to throw it in your face, no matter how much you try to tell them the benefits.
As you've experienced, even being an Eliminator isn't enough to draw some people out of hiding. It's just not something that can be forced.
That's what makes the Puppet Master awesome, yet frightening.
It gives either team (I'm really not sold on the "as needed" part, BTW.) the chance to gain the abilities of an inactive teammate back. My worry is that is also could encourage people to, like the pitch hitter idea, not participate because they have something to fall back on.
Overall, the idea is sound. You've covered all the possible angles with it other than the "as needed" angle, as I fear that bit might cause people to think that the GM is taking a partial viewpoint to a given game rather than trying to be as impartial as possible.
I just think that it will give people even more of an excuse to not check in.