It was mainly due to one man largely, Sachin Tendulkar.
He was a great player of spin. In most of the occasions, when the duo took on each other, Sachin Tendulkar used to win the battles. And Sachin used to occupy the crease for a long time. That meant that Sachin was always a threat in Warne's chances of succeeding in India, especially in ODIs.
In tests, Shane Warne had a far bigger challenge. An attacking opener like Virender Sehwag, and then a solid no.3 like Rahul Dravid, followed by the strokemaker Azharuddin or the left handed Sourav Ganguly and an excellent player of spin like Vvs Laxman. And he also had to bowl to Navjot Sidhu, another good player of spin.
You see, life was hard for Warne when he bowled in India. It was difficult for Muralitharan too. The two greatest spinners of All-time, struggled in India. Both did ! I remember only one spinner that succeeded in India against India, Saqlain Mushtaq. And I'd attribute that success to his doosra.
Except that, I don't recall any other spinner that had challenged the Indian batting for a long time in Indian conditions. Warne was indeed great in almost all other conditions, both in tests and ODIs. But India was a different cup of tea for him.