Maybe it's just me, but the vast amount of illegal and semi legal migrant workers being exploited suggests what the US needs is a visa system for unskilled labour, not for skilled.
Why does everyone think the cure to the worlds ills is to have more doctors and not more toilet cleaners? People can die from dirty hands on doorknobs faster than from smoking: Basic sanitation work, food work is important. If current US residents won't do this stuff, pick food, clean up, then isn't the answer to bring them in or do we really prefer to have them live in a twilight, semi-illegal world? Really?