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 )
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.