There are more speakers of Hindi than English in India, but they are geographically skewed toward the north of the country. Some regions (esp Tamil Nadu) are actively antagonistic toward Hindi. English is a good bet to be able to communicate across the entire country, and is also an official language.
> Some regions (esp Tamil Nadu) are actively antagonistic toward Hindi.
People of any region tend to be antagonistic towards crude attempts to force a foreign language and culture upon them. Hindi has no common ancestry with South Indian languages like Tamil. In fact, Hindi-Urdu-Farsi is from the same language family as English. Therefore, Hindi is just as foreign as English to South India and therefore it makes much more sense for South Indians to speak their native tongues and a useful foreign language like English or perhaps Mandarin in the future rather than be forced to learn Hindi.
In the southern parts of the country (Karnataka, Kerala, and Tamil Nadu), I have seen even the poorer class, auto-drivers, and cab-drivers too speak English fluently. :-)
English is the default language if you want to reach a maximum number of Indians. Hindi would probably be second, but why bother? Personally I like our migration to a common language. I feel that our different languages divide us.