I Worked in Bangalore (India) -- The Heart of IT Outsourcing [View all]
The people of India are industrious, hard working people, but the idea that they have superior IT skills is highly doubtful. The people are predominantly working class and poor. The majority of them do not even have personal computers in their homes.
I went to India to assist a friend with his start up business. I was there to interview and recruit talent to the new venture. We placed ads on India's Monster.com, and we used local recruiters. We got very few responses to our ads. We were told that most Indian IT workers did not have computers in their own homes, so the only way that they could respond to emails was on their jobs during their breaks. Ultimately, the venture failed due to the inability to recruit talent.
Additionally, I rarely saw anyone with a laptop or any other personal computer. If you work in software development, then you know that you have to constantly update your development skills even when you're not working. I would go to various cafes where there would be groups of young people, and none of them had computers. Walk into any cafe in America, and everyone has a laptop in front of them. So, how is it even possible for these people to have these "better-than-Americans" development skills when they don't even have personal computers.
Currently, I am updating my ASP.net MVC and Sharepoint development skills. After I get home from work, I sit in front of my computer and work through tutorials in order to develop these skills. You need a computer in your home in order to keep your skills up to date. It's simply not possible any other way, even if your job trains you.
Finally, if importing H1Bs is truly about American IT skill deficiency not pay, then the vast majority of imported IT workers would be coming from Northern Europe, not India.