H-1B visas should ONLY be granted for workers that are in such need that they are above the 90th percentile of pay for that role. They should also be limited to no more commitment to the company than their peer workers.
Once within the country, an H-1B worker should also be able to leave for other employment (without the top market rate requirement) whenever they choose and with a 6-12 month grace period for finding new work if they quit or are laid off.
The entire point should be about bringing valuable future citizens in to the country, and the program should definitely be a strong path to citizenship.
It also makes sense to have a different (easier to get) type of immigration for workers that want to start a company (and have most of those jobs) within the US.