Something that'll genuinely solve all the problems (qualified americans losing jobs, outsourcing companies abusing loopholes, salaries racing to the bottom), would be to have a concept of temporary green card.
Instead of a 3 year H1b, have a 3 year green card (lets call this the Super H1b). Once an immigrant is here in the US on a Super H1b visa, he/she will be free to take up any employment if need be, even with multiple employers.
This will ensure that an employer sponsoring the Super H1b visa will be paying at or above market rate salary, because the employer truly needs this employee.
Are there chances of this visa being abused? sure. But its way low, much more beneficial (to americans, to the immigrant and also to the genuine Super H1b sponsors).
@ergothus : Do you think having such a visa would have helped (considering your experiences in Virginia and Seattle?)