I do tend to agree that too many of the US H1B visas seem to be going to "non-US" companies. (eg see this list : Four of the top 5 are Indian companies). I understand that the purpose of H1B Visas was to help *American* companies with their manpower requirements. No matter how much we may talk of "outsourcing", it does seem strange that American employers cannot find American employees to work in America at the same pay scales. I wonder how many of the those H1B visas are actually being used for employees permanently working in USA, not "flitting to and fro between USA and India".
Is the root of the problem really skill levels of American employees or salary expectations ? Are the employers spending enough time to see if they can get an American employee to match their skill requirements and meet their human resources budgets ? Or are American companies finding that the easier thing to do is to "outsource" to an Indian company and let an Indian company worry about H1B Visas.