Actually until a few years ago we did have a surplus of H1-B visas. That's because the Clinton administration temporarily tripled the annual quota, and that resulting number turned out to be higher than needed. When the law expired the quota reset back to its original value, which is less than what we need.

The situation is pretty ridiculous right now. Every year there is only one week during the whole year (first week of April) during which employers can file H1-B applications. Then a lottery decides which ones get awarded, currently roughly with 3:1 odds, getting worse each year. The "losers" will have to wait for a full year to try again. The winners can be hired in October the same year, i.e. 6 months after the application was filed. The situation is made worse by the fact that the majority of visas are awarded to a handful of consulting companies in India who are gaming the system with "pseudo-consulting" businesses. These long delays are exactly why OPT is so important: it allows companies to higher graduates without having to wait for a full year until April and October come around.

I cannot speak for all industries, but only for the one I work in, as an engineering manager with hiring responsibility (for highly qualified post-graduate software engineers): in my field that talk about how H1-B visas are allegedly used to force lower wages is just plain nonsense. Visa status has nothing to do with wages. Actually my employer prefers US citizens, then green card holders, then employees with existing temporary work visas/permits (in that order), because it simplifies the hiring process. Keep in mind that foreigners who have spent several years in US colleges and universities are not exactly stupid. They know what the prevailing wages in their industry are, and demand the same payment as US citizens -- and they get it. Don't think that those graduates are in any way dependent on US companies for getting a job. They can get high-paying jobs just as well in Canada, Europe or anywhere else. In this industry employers' biggest concern in high-tech is how to get talent and retain employees, not how much they have to pay for it. Many large companies in the SF bay area have exactly that problem, and I would be surprised if things are different in Redmont.

If you don't like this then suggest a different solution: US citizens staying in school to get graduate degrees ? Very rare... Companies training employees for a few months before they start their job ? Takes too long, high-tech is too quick-moving for that... Companies outsourcing to engineering teams in India and China ? Yep, already happening, and not even primarily to decrease cost but just to quickly expand engineering capacity with qualified people.