Kohli (when he was captain and was not performing as a batsman) did the biggest mistake of backing & getting shielded by Pujara, Rahane, Rahul, Rohit... He thought that these guys will anyhow perform similarly (or lesser) than him, so that his non-performance gets little or no criticism... That was the time to groom younger batsmen into test lineup, but it didn't happen. The younger batsmen coming up would have outshined Kohli, and eventually his place in the side would be insecured... Kohli didn't want this to happen... and we are facing the consequences now! A smart NZ team saw the loopholes in the Indian team and they exploited it handsomely (finally some visiting team did this), previous teams (Australia tried, England tried... but they couldn't reach it. Now Indian test cricket is completely decayed, even the pace bowling attack has got weakened with Shami, Ishant, etc, fading away)
This is what happens when players decide & run the scheme...
And it is not hard to find quality test batsmen in India! Pant (W/K batsman) has done that! So there are many others who might be capable, but they won't get the chance... Pant got the chance because he had no competition (W/K batsman slot).
Sadly our super-is-stars are the reason for cricketing failures (team failures)... 90% of Australians don't know who is Ricky Ponting (perhaps), but the full management & board were aware of all his strengths & weaknesses (his progress) and they knew how to utilize him & when to discard him! That's the key!