India is a big country with a huge population. As with many other complex phenomena, there is no one reason which can explain why India is not doing well in sports. My guess is that the country is just going through a trough. Wait for a few more generations and see.
In general, as economic forces level the playing field for most countries around the world, the medals tally will start correlating well with the population.
In general, as economic forces level the playing field for most countries around the world, the medals tally will start correlating well with the population.