The reality is that immigrants, particularly illegals, are the ones performing jobs that others don't want. Hard to believe that not everyone grows up hoping to become the guy that scrubs the toilets and changes the paper towels at an office complex, or installing a new roof in 98 degree heat, but apparently these jobs are always looking for more people even in poor economic times.
That said, H1B was never designed to provide an alternate citizenship avenue. It was meant to allow the US to brain drain the rest of the world for our own benefit. Let the geniuses have a stay in our country for a while, get them to like the amenities, and then they will want to become residents. What it's turned into, however, is an alternate path to general citizenship for the unwashed masses. We already have an avenue for that. People should stop trying to game the system. Too many H1B's are lackluster and need to go home, yet continue to fuck up our economy with their poor job execution and language barriers. The latest is the recent college grad foreign exchange student, that tries to land some job where their mediocrity can get by just long enough to become the one guy in the company that knows how to do X, and then suddenly they become "critical" with "irreplaceable knowledge", as defined by lazy managers.
I specifically avoid hiring the average performing H1B's and foreign exchange students for this very reason. If I'm blown away by their abilities, then great, welcome to 'Merika. If not, then fuck them. Finding a local monkey is easy, and they generate far less paperwork for HR and don't drain on the economy.