I have never been to the US so I can't comment on what s wrong exactly. But in India, we do have parallels and atleast from that perspective, there are some things that Indians, both parents and teachers do that is helping to alleviate the situation. I am not sure if this will help the American part of the problem but I hope it does.
1) Critical thinking comes in 2 ways, either by being put in real situations or by simulating situations and being asked how one would react to circumstances. With India, problematic situations have always been numerous and Indians learn to haggle, negotiate and finally find workarounds to problems. As life gets better, the richer kids are losing this skill and so, are less prepared to face troubling situations as the average middle-class kids.
2) Competition in schools: I think this is a very important reason why Indians today are competent. This may not prepare them for what their employers require from them in terms of certain skillsets but the ability to size up competition and take measures to meet it comes naturally when a person has to compete to stay afloat in a class of 60 people (atleast) in most junior high schools, 100+ people in senior high-schools and so on. Companies don't expect people to know everything when they join, the idea is to be able to learn quickly.
3) Pushy parents: I come from a middle-class family. My parents were never happy with my grades in school. If I didn't stand first they weren't happy, if I did, then they would be happy but it would be more like "Next time, increase that lead". Indian kids have a lot to live up to. Their parents' expectations are among the hardest. Its also why you find few sportsmen worthy of mention ever coming out of India. Most parents don't care how good you are at soccer if you're failing your science paper.
Hope this helps.