A lot of people here a critical of the visa system because it drives wages down. This is an effect of employers having way too much leverage in the current system, the H1B being attached to your current employement. If you provide for equal rights between americans, permanent residents and non-immigrant workers, you cut that leverage out of employers' hands and empoyer non-immigrant workers to negociate market rate compensation. Work visas shouldn't be attached to current employement.
Switzerland, a country with 28% of foreign population, has a system where you can quit your job and claim unemployement benefits for at least 6 months before your work permit actually expires.