It would be simpler to award the limited pool of H1-Bs in order of descending wages, and cross-check with the IRS afterwards to verify those salaries are actually paid. That would kill all the bottom-feeding body shops.
If skilled foreigners accept lower wages because the right to come to the US is worth something to them, then the price of the visa would settle at around the difference in wages. So overseas workers wouldn't undercut US residents. And the perceived monetary value of living in the US would accrue to the government, not to body shops.
If you are in a low wage area and feel that your workers are as productive as workers in high wage areas then you can pay them a high enough wage that they get a visa.
If you don't feel that way then obviously the visa should go to a more productive worker and it doesn't matter that they happen to be in a high wage area.
If you believe immigrants are good for the economy and make everyone richer, strengthening existing companies with their unique talent and expertise and founding many successful new companies, why let rich costal cities get all the benefit when poor cities have a much greater need for an economic boost?
That's just like your belief, the actual economics do not support this. The only thing that might change is the distribution of economic surplus (as in capital gets a larger share of the economic surplus versus labor). You might argue there will be more surplus, but that's likely not the case, and not for the body shops being discussed.
Most people don't believe this statement is true (or, at least as true as you do) because if they did, we probably wouldn't be talking about any of this on HN.
That has the added benefit of removing the unpredictability of the current system. Companies would very quickly figure out roughly where the line is and could pay a premium to guarantee their employee gets one of the spots.
And you need to make sure the salary is not just paid back to the company / its owners. This is a common form of abuse in other countries with a minimum wage requirement for foreigners.
If we had a functional immigration system, green cards would be granted in a reasonable time frame (6 to 12 months). H1-Bs are an imperfect substitute, that can be and are abused. Any of the proposed measures would help curb "body shops" that are indeed stealing jobs from Americans, and keep those legit H1-Bs that are plugging holes in the native labor supply.
H1-Bs are transferrable, so calling it "indentured servitude" is incorrect, the real reason why H1-Bs usually stick with an employer is the green card sponsorship by the employer, which is not transferrable.