Also, give holders more flexibility in changing jobs without losing the visa, make the system a path to citizenship, and prevent new visas from being created if previous holders are unemployed. Essentially prevent jobs from using the visa to control workers while suppressing wages or constantly churning through new candidates.
Technically, H1b is already a dual-intent visa (you can apply** for a green card/permanent resident status while in the country on an H1b). Also a recent change in the law allows H1b visa holder to change jobs (a feature of the AC21 act). It apparently takes about 4-8 weeks if the new employer follows all the rules (employee must be continuously employed, e.g., can't lapse into H4 status) and once the H1b transfer is approved, it's up to the employee if he/she actually wants to go to the new company. In any case, the H1b transfer petitions happens outside the H1b lottery, so the employee doesn't need to re-entry the lottery to get the H1b with the new company (but the previous employer would needs to apply for a new H1b to replace the worker that left and that would have to go through the lottery).
That's how the situation is today. I get the feeling mostly /.-ers don't really understand the *current* H1b situation and keep recycling old memes about H1b.
The big loopholes are the lottery, the fact that offering a $60K salary is enough to avoid doing a labor certification for the open position, and allowing a company to use a single anonymous labor certification to apply to multiple future candidates. These loopholes allows the H1b slots to be easily dominated by 2 Indian contracting companies.
Eliminating these H1b program loopholes seems like it would probably be enough to make most reasonable, well-informed, non-xenophobic people happy. Unfortunately that means it probably won't make everyone happy.
** the per-country caps on employment based green cards is generally what is preventing many H1b's their path to citizenship because there is no per-country based limit on H1b, this impedance mismatch causes a bottleneck only for over-represented H1b countries like India and China...