India is great if you are not a tourist. (Or, at least, if you don't look like one.)
Looking like a tourist seems to give locals the license to rip you off. Prices double instantly, and some people will lie and cheat to get the most money out of you. Before I continue on my tirade and its economic consequences, let me say that I believe I recognize how much something like 50 ruppees (about $1) mean to a local as opposed to how much they mean to me. So my comments are not about hard negotiations but simply about some locals' attempts to screw me, using sometimes ingenious scams.
The basic procedure is always the same. Somebody aggressively pushes his services onto you, be it giving directions, shoeshining, carrying your stuff, or providing a ride. All these services are either free, or suggest a small tip, or cost a few rupees only. However, once you agree to accept the service, it will be provided only hesitatingly. It's all about extracting more money from you. This usually happens through kickbacks from tourist offices or hotels to which you are delivered. This happens constantly.
The most egregious case happened in Amritsar. I was taking a cycle-rickshaw from the train station to my hotel. The cyclist had told me he knew where my hotel was, but failed to deliver me there. Rather, he tried to drop me off at a different hotel. When I declined, he got frustrated but at least we started moving again. However, we only rode around the block once, and he tried to deliver me to the same hotel again! I'd call that chuzpe. Anyway, only when I got angry, did he bring me to my real hotel.
Economically, it makes sense. For the ride, he got 30 rupees. For the hotel, I'd typically pay between 1500 and 2500 rupees, so any kickback the guy would have got would probably have doubled his earnings for this ride. Since all of this are one-time transactions, the guy doesn't have to worry or expect me as a repeat customer.
If it was so sad at times, it was outright funny. Here a story that made me smile for its bravado, even though I pity the poor (and clueless) victim.
From a newspaper
There are simple ways of dealing with such harrassment. First, you quickly learn to say "no thanks" effectively. Next, you can use the system against itself. For example, tip generously when checking out of the hotel and have the porter do the negotiations for you. Or, tell the hotel person at the reception that the rickshaw driver tried repeatedly to deliver you to the wrong hotel. Whatever tactics you use, remain friendly. I was rude to a shoeshiner once, and the next thing I saw was that I had dog shit on top of my shoe.
Personally, I think this is a mistake. Every such unhappy interaction hurts the overall reptuation of tourism in India. If my parents ask me whether I recommend they visit India, I'll say no. They would not enjoy it; like most people, I fear they would get stressed out too much. My best guess is that Indians don't recognize how much larger their capacity for emotional stress is than those of other people.
This is an example of the tragedy of the commons. The commons being India's reputation as a tourist destination. What is better: One ride to the train station for 70 rupees, or two rides for 50 rupees each? It is every tout for himself, and so they aren't guaranteed that second ride tomorrow, so they'll go for 70 rupees today. This is not smart, because everytime a tourist knowingly gets ripped off, he'll tell other potential tourists, some of who will decide not to visit India. So the tout may get 70 from one ride, but reduces the overall economic gain by loosing the second ride.