As you yourself point out, an Indian programmer with a Master's degree only costs $20,000 a year. It is hard to compete with costs like that no matter how good or bad the education system in the US is. The company where I work is basically only hiring in India these days because it is so much cheaper.

I can't really complain, I work for a big US company in Israel, American companies (like IBM, Microsoft, Motorola, HP, Intel, etc.) opened development centers in Israel for 2 reasons:
1. It is cheaper then the US (these days about %30 cheaper)
2. Talented people