The competitiveness outside India has coincided with a relative loss of invincibility at home though (compared to the 90s).
I think a major reason for the lack of attendance in tests is simply that the Indian consumer is more aware now. Test cricket will never attract the family audiences at the ground the way ODIs and T20s do, unless facilities at the ground improve considerably. There is no way I'm going to even consider taking my family to watch a day of test cricket here. India is a hot country, the facilities at the stadia are downright ridiculous for the most, public announcement systems are a joke, carrying even a bottle of water or a camera inside is banned, and I'm not going to be the one to answer to my family what was th point of sitting through 7 hours for a no-result.
ODIs attract huge crowds simply because you're guaranteed a result, you're guaranteed 5 runs an over, your family can follow whats happening, and it helps that half the game is played in the evening when it gets cooler. Besides, a majority of ODIs in India seem to be held in the nooks and crannies which seldom get any cricket. An ODI there might be the only international cricket they get in 2 years, and they pack the stadium full as a result.
T20s are even better for the spectators, its a good spectacle, the length of a movie, the organisation at the IPL was much much better than it usually is, and is played almost completely under lights. Why slave in the kitchen over a 3 course meal when you can order take-away?
It is one thing to have never attended a test In India and then bemoan the lack of attendance. It is entirely another thing to have attended a test match day under the hot sun. It is truly an eye opening experience. Test cricket attendance in India will not improve unless the stadia improve, or the product improves (try explaining to your mum why it was worth it coking in the heat through a session of an 8-1 field). The consumer wants bang for his buck, a format that is unscripted does not guarantee the experience he wants in return for sacrificing 7 hours of his time. The BCCI seriously needs to look at all-weather, roofed indoor stadiums. Until then, I'll take the air-conditioned room and the excellent television coverage anyday, thank you. Who watches 5 days of a home test nowadays, anyway? Don't people have a life and a career?