Android uses Skyhook to determine your location. In short, it uses a combination of GPS (great outdoors but slow to acquire a lock, and not good indoors), Cell Tower location (fast, works everywhere, but inaccurate), and WiFi (fast, accurate to 50m or so, but only works near the location of WiFi access points that Skyhook and Google know the location of).
Google obtained a list of WiFi locations when they photographed streets everywhere for their Street View on Google Earth. As the cars travelled along the road they didn't just take pictures, they also noted the location of every WiFi point they passed. The location of WiFi access points is also known by other collection methods - for example if your phone has a GPS lock, and is near a WiFi point, then your phone knows the exact location of that WiFi point, and passes this information on to Google. Also companies that provide WiFi access (McDonalds, Starbucks, Costa, various hotel chains, etc) can pass this information on in bulk to Google/Skyhook.
However, there is another way they get WiFi locations - this is people submitting their own data on Skyhook's website. This has two problems. Firstly, people enter the wrong MAC addresses (deliberately or accidentally), or the wrong location (deliberately or accidentally). Also, people sell their WiFi routers on eBay or wherever, or they move house. The end result is that there are a load of inaccurate entries in their database of WiFi locations. It's possible someone in India accidentally entered the MAC address of your WiFi point on Skyhook's website, for example, or, one of your neighbours bought a WiFI router on eBay from India.
Try turning WiFi off and getting a proper GPS fix (make sure the green lines coming out of the GPS icon aren't flashing and are on solidly) while standing in the middle of a park or field or somewhere with a clear view of the Sky and no nearby WiFi. Are you still in India then? Also what app are you using to see your location?