Some weighting depending on area could be a good idea, but needs additional measures to prevent abuse. Otherwise consulting companies will apply for H1Bs in a cheap area with very low wages and then move people to silicon valley soon after the visa has been granted. It also seems a good idea to give more H1Bs to areas with higher wages as these often indicate real shortages. Stricter limits on working hours are also needed, otherwise companies will cheat the system by paying a high monthly salary that is actually a low hourly salary because of the insane working hours demanded. One potential solution for that issue could be rules that require paid overtime for H1Bs and allow workers to sue for their overtime payment even several years later.