I feel that there are some core issues that can fix the problem:
1) Solve the Green-Card backlog issue that forces people in the backlog to stick with their current jobs. This is a major thing, that is not talked about more often.
2) Simple merit/salary based priority queue to grant VISAs.
I have never quite understood why there is this urge to entirely get rid of it instead of fixing it to do what it was originally supposed to do.
Edit: On an H1B right now, and I do think there needs to be major fixes.
You still have caps. The difference is you don't have H-1B workers who are trapped in jobs and have little power to move around and increase their wages.
You can see this today. Look at the number of GC sponsorships by companies that treat H-1B employees well (Google, Microsoft, etc...) vs the consulting companies like Infosys and Tata. They have no interest in getting their employees green cards because then they have no power over them.
@richardlong: I'm not even talking about expedited GCs. Even the normal GC process is horribly broken for people who are born in India.
Look up "Green Card backlog India" related searches. Currently it would anywhere from 15 to 35 years for a H1-B from India to get a Green Card after their Perm is filed.
Adding skilled labour can allow more opportunities to add more skilled labour jobs.
Without the extra slack, there's no opportunity. Part of what makes Silicon Valley work is that there's a lot of talent that is somewhat slack to allow for new companies to get started.
1) Solve the Green-Card backlog issue that forces people in the backlog to stick with their current jobs. This is a major thing, that is not talked about more often.
2) Simple merit/salary based priority queue to grant VISAs.
I have never quite understood why there is this urge to entirely get rid of it instead of fixing it to do what it was originally supposed to do.
Edit: On an H1B right now, and I do think there needs to be major fixes.