Given India's history, I expected English to be more widely spoken. While it is generally possible to get by with English in large cities/tourist areas, fluency in English varies greatly depending on education, age and region.
In addition to the 22 official languages, hundreds of languages/dialects are spoken in the country. Ideally, learn a few words of the local language before travelling to India. If you are travelling across the country, Hindi is your best pick as it is the most widely spoken language (but avoid using Hindi in states like Tamil Nadu where it might be met with hostility).
Hindi is the native tongue of the people from the "Hindi Belt" in Northern India. Native speakers of Hindi dialects account for 41% of the Indian population (2001 Indian census). Many more speak it as a second language.
A Hindi phrasebook can be found here. In addition learn about non verbal communication in India here.