My issue with theories like corruption/red tape/etc is that India is not unique in this regard. India is pretty bad with corruption, but Jamaica is too. Yet Jamaica tends to perform pretty well - running is popular there. You can find plenty of corrupt and poor countries that outperform India, particularly if you adjust for population.
China is a special case since the government basically forces people to shoot for Olympic gold in marginal sports (e.g., discus, javelin) and trains them from early ages to do so. They also use eugenics to breed top athletes (Yao Ming is one famous result of this), and similar things.
This is a common misconception. No one is "forced" to participate in the Olympics in China. Poor parents send their children to Olympic trainers because if their children do well, they'll get to go to college for free and have a good, middle-class job.
I suspect you might find a similar proportion of everday Chinese equally disinterested in "poses" (not sure, just speculation).
I believe that the core reason is our usual friend, corruption and red tape. It's not just sports; in general, the meritocratic lose out because wherever there is an opportunity in India, whatever be the form of opportunity. That includes what is rightfully yours, such as welfare handouts, your passport, etc; An Indian's everyday life consists of jumping through hoops to get basic things done.
Disclaimer : am Indian.