Also, here's something you many not know. K-12 CS education in India is actually pretty good. My school started computer science in the fifth grade. Internalizing the Turing machine (even if it is not formally explained) at that age gives you a huge advantage should you decide to become a computer scientist later.
So how come India doesn't produce good computer scientists? Actually we do. If you look at the top CS conferences, the proportion of Indians is pretty high compared to the number of people we graduate. It's just that Indians choose to move to the U.S. to do research because there are no good government funded research programs in India.
Next up, innovation and design. I think PG pretty much answered that one. It doesn't matter if you have talented people, if you don't have a nurturing environment like Silicon Valley, it's just not gonna happen. There's not much incentive for an Indian firm to innovate because our business climate is just so bad. Success depends more on how well you can bribe government officials than on innovation.
That leaves coding jobs. If you teach everyone how to code, of course you're going to have a lot of coders who aren't particularly good designers or computer scientists. That's what we have. Many of my friends who are actually good tried to kick it in one of the outsourcing firms, couldn't take the boredom, and left to go to grad school or do something else. It's a self-perpetuating cycle.
To summarize: K-12 CS education is not hard, and it's important for producing good computer scientists. You just have to be prepared to accept that not every kid will be interested.