The H-1B should be retired. Or, at the very least, restricted to the following criteria:

1) None shall be issued outside of STEM fields.
2) None shall be issued for positions with companies involved in any government activities, including finance.
3) All positions must have been publicly and widely posted on a government-controlled jobs board for at least 6 months.
4) The employers will pay a fee directly into Social Security equal to the salary offered for each position every year.
5) No retirement benefits of any kind are to be offered. Salaries will be deducted from to fund retirements for citizen employees. 
6) No position will be open ended. Maximum of a 5-year term. 
7) Applicants must return to their home country and no longer be employed by any US company for a period of no less than 1 year before beginning any citizenship process.
8) All positions filled by an H-1B holder to be continually advertised on the aforementioned jobs board to citizens seeking employment, and will be terminated and required to return to their home country once a citizen employee is hired.
9) Any person granted an H-1B must wait a minimum of 2 years in their home country before applying for another one.