The only real way to prevent this is to raise the price. Either through auctions, increased fees, or increased minimum salary.
If you can't find someone at the prevailing wage, you have to offer more. That's how the prevailing wage increases. Increasing the supply of workers willing to work for the current prevailing wage depresses wage growth--there's no way around it.
If that is the case, then it means we are hiring H-1B workers who are less skilled on average, than the average US worker.
If H-1Bs weren't available, companies would be forced to keep raising the offered salary when they couldn't fill a position. Virtually any position can be filled given a high enough salary. Therefore if companies are choosing to hire H-1Bs instead of raising the salary to the level necessary to fill positions with US workers, then it is because it is cheaper to pay the H-1B costs.
Well, with H1B hires, you don't have to worry about turnover for a set period of time, and you get to use the threat of deportation to get them to do what you want.
Actually, many companies have said outright that they do hire H1Bs specifically to cut costs, and other studies, including by the CIS have found just that.
If you can't find someone at the prevailing wage, you have to offer more. That's how the prevailing wage increases. Increasing the supply of workers willing to work for the current prevailing wage depresses wage growth--there's no way around it.