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.