Sports has never been a priority for India as a country or majority of Indian parents or kids as individuals. Simply put, not too many Indian sports persons doing well enough to inspire parents to put up with all the hassles of taking time off from their busy schedules dropping and picking up kids before or after schools hours, chaperoning them to sports events often at odd times and places. Given the conditions , that kind of time, toil and tears spent on academics is more likely to yield better results.
Though India has an enormous population, its "effectively participating population" in athletics is much smaller. A large part of India's 1.2 billion, when it comes to international athletics, effectively don't count. They're excluded by poor childhood health, physical isolation by poor transportation from the athletics centers in the big cities, or often because they simply are not sufficiently aware of the Olympics or the sports involved. Even the lack of connectedness across Indian communities may play a role, as the idea of competing for national prestige just doesn't carry the same appeal or logic. It's not just that so many Indians are poor, in other words, it's that India itself is so socially and physically fragmented.
The sorry plight of many past medal winners in India doesn't help matters much. For all the national glory they bring - the recognition , adulation or financial support they get is quite short lived. We may deify our cricketers but as a nation have scant respect for our athletes. Since people do not care the govt doesn't care either. Many of our athletes live in penury while the cricket board becomes obscenely rich.