The alternative is an innovation shortage which will destroy your lively hoods in the long term. We are in many ways loosing this battle in manufacturing, I do not want it to happen to software.
[1] http://www.statisticbrain.com/outsourcing-statistics-by-coun...
To be frank, I tried this for C++, and found that 'engineers' in India sucked and the competent ones cost almost the same as in the USA (70k/80k).
On the flip side I was able to find a really cheap graphics/publishing workflow (they clean MS word documents) but with 5x margins on our product, I didn't care nearly as much if we/I was paying people in India half the wages.
In truth, I think there are highly skilled jobs that can't be outsourced or rather have an even playing field.
Why would they when they have better choices?