I am in the process of my own hosting start up and I was working on an idea about using a staging server to get to understand new signup needs.
Once we see the usage (server resources/bandwidth) we could then move the site to an appropriate server that would be best able to deal with the clients needs.
If they are a low resource site then stack them up on a server with 1500 others just like them and for clients that are really hammering the server we can move them to a server with a much lower population cap on it.
Sounds great... if the period of time you leave them on the staging server is an accurate indication of how their site will always be (hint: unless their site is a ghost town and will always be a ghost town, this is almost never true).
What if one of said ghost town websites gets slashdotted, digged, or whatever? Your best bet is just to try and keep your servers with plenty of free resources (believe me you can keep the loads at under 50% and still make plenty of money) so that anyone's site can handle spikes in traffic no matter what they were like when they first signed up.
Chances are pretty good you'll wind up having to move a client or two around every so often anyway, and I don't really see a "staging area" helping that at all, to be honest.
I guess the idea was born by my desire to keep the servers typically light loaded (400-500 sites per) to give good performance to all sights but we all know that one rogue site can bring the server to it's knees.
Just trying to come up with my operational model=)
You can do this easy as pie with some nginx based loadbalancer setup.
When you host sites in clusters you can keep a copy of the same site available on several servers at a time and redirect traffic as needed.
You could then run new accounts on a staging server and migrate them to one of the clusters as needed without them even knowing.