The bare minimum salary requirement for a position comes from the labor department. The first step on an H1B process is to determine prevaling wages in the city for that kind of position. For programmers, there are a multitude of titles available irrespective of what the actual job description is. So there could be an easy fix by investigating how prevailing wages are set and by bringing in industry experts to consolidate the list of titles and salaries required. Also companies list the bare minimum salary they would pay on a visa application instead of the actual salaries they would pay. This is especially true for consulting companies that share profit with their employees. Smaller consulting companies often don't pay the full salary when employees have a downtime in between projects. Also vacation time(extended month long) usually goes unpaid or less paid. The lower bid on the visa applications helps them stay in status in such situations.