See the thing is, India are underperforming, no doubt. And they have had a lot of series at home which skews their record since 2004 a little. However, SA have been pretty damn poor, and their biggest achievement as of late is being competitive in an away series in Australia (which they lost 2-0, flatters the Aussies but hey, that's the scoreline). On top of that, they lost a test to Sri Lanka (which gave SL the series) when Sri Lanka didn't have Murali, which is borderline disgraceful for a team apparently so highly ranked. They too had to fight for a draw against an undermanned WI team (which is a little different to an undermanned England team!) without Lara, Bravo etc.
People going "Well SA wouldn't beat India in India, and India wouldn't beat SA in SA" are forgetting that rankings also includes records against other teams.