H1-B has its place, but is should be reserved for REALLY qualified people - say the ones with MS or Ph.D in sciences who graduated from American universities.
I am not sure why the US needs to provide work places for Chinese and Indian citizens? There are many US citizens who need a job these days.
I don;t think I am being insensitive - most countries are very protective of their job markets. Try to get a work permit in France or Europe if you are not from a EU country.
A Chinese or Indian citizen is an individual, like any other, just like you even. Through no fault of their own they've been born in a country that doesn't provide the same quality of life for them and their family that an American/EU resident enjoys. Don't they have the right to the pursuit of happiness just like you?
For an extreme example, would you rather be a Chinese Foxconn employee or an unemployed American. ( http://en.wikipedia.org/wiki/Veil_of_ignorance )
Let's look at it from a different perspective. There are 1 million software developers in the US alone: http://www.bls.gov/ooh/computer-and-information-technology/s... There are 22 million stem employees in the US as of 2013: http://www.nsf.gov/statistics/infbrief/nsf13311/ The hand wringing here is about 85 thousand a year, a quota which was maxed out /only once/ before last year. A drop in the ocean. And somehow this is the reason US STEM graduates aren't employed in STEM fields, the reason why STEM isn't growing, the reason to blame for everything, etc etc.