if there was a true shortage of skilled workers and there was political interest in fixing the shortage the minimum H1-B wage should be set at 5x of the "prevalent" wage, in order to provide an incentive towards actually developing these skilled workers.
If an H1-B costs me as much as 5 non-H1-Bs my incentive would be in hiring one H1-B short-term and using them to train/mentor normal employees and use as few H1-Bs as possible, laying off my employees to hire H1-Bs would not make sense in this case.
Also as many others have said, H1-B should be an 'exceptional' visa, which means that as a country there should be a strong interest in making these 'exceptional' individuals citizens as soon as possible, which should mean a guaranteed green card within 1-2 years, and no "lock" to the employee requesting the H1-B (because if there is a true shortage other employers could be interested too, the visa should be tied to the exceptional individual, not to the company hiring them).