I believe we need a reset on this issue also. I believe in free market of capital AND labor. I don't think non US citizens should receive taxpayer funded benefits. I don't think they should be allowed to vote. If the States would allow non US workers to register in the states they live in, and issue them work cards for a yearly fee then when times are tough they could move elsewhere or return to a former employer... but also know that they are not eligible for and taxpayer benefits. then the states would know who they are and all the looking the other way might be decreased.
If after five years of living in the US and then desiring to become citizens maybe some type of one-on-one sponsorship from a US citizen would be an avenue.