First off, get used to being seen as an ATM. Very few people will talk to you without wanting you to buy something or pay them for some service, particularly in the tourist areas. Even if they start out asking your name and where you’re from, they’ll usually get to the hard sell sooner or later.
When dealing with touts: SHOW NO WEAKNESS. If a tout speaks to you, ignore him unless you want a good long hassle. Mirrored sunglasses can help, as well as pretending you don’t understand whatever language with which they’ve addressed you. They will try several languages (these guys have it down to a science), so make up your own if you feel like it. Certain cities have more aggressive touts than others (Delhi and Agra in particular–in Western and Southern Rajasthan they take no for a third or fourth answer).
There's no such thing as "just looking" in India. You will be followed in every store and asked what you're looking for. They will hand you items and do their level best to convince you to buy four of them. If you don't really intend to buy anything, it's probably not worth the hassle of walking into a shop.
Bargain for everything. Especially if you are a Westerner, as the theory there is that all Westerners are rich and should contribute. You may be charged double, triple, or more, so don't be afraid to drive a hard bargain and don't feel guilty (you will at first, but you get over it fast). This goes for everything: food, souvenirs, services, tuk-tuks. If at all possible, check around with other tourists you run in to and see what they’ve been paying.
Fixed price almost never means fixed price, even in “government shops” (frankly, I’m not even sure what “government shops” are, and they might very well be a tactic to get you to pay inflated prices under the pretense that they’re really fixed price). If you hear a price you don’t like for something? Walk away. They will almost never let you go. The most common sequence:
You: How much?
Vendor: Obscene amount of money.
You: Hmm, okay. [walking away]
Vendor: Okay, for you? One third of obscene amount of money which is still obscene.
You: No thanks, too much [walking away again]
Vendor: How much do you want to pay?
You: One hundredth of obscene price.
Vendor: [wraps item up for you]
Try to buy things in multiples or groups. They’re desperate to throw stuff in with what you’ve bought for a little more, so you can stretch your money farther pretty easily. They’ll also pressure you to do this–a favorite trick/joke is to say “And for your second sari/skirt/painting/etc.?” and then “And for your third?” until you draw the line.
In Rajasthan, most cities have specialty products: Agra is famous for marble inlay work, Jaipur has textiles, Udaipur has a lot of good jewelry, etc (Udaipur is also much cheaper for shopping than the other cities I visited, and had a much more enjoyable atmosphere for it – less pressure). If you’ve got a driver, he can usually tell you what to look for in which city. That said, you’ll find most of the exact same things in almost every city, so don’t worry that you’ll never be able to find one particular pillowcase or leather journal anywhere else.
Try a few shops before settling on something, especially with more expensive items. It truly sucks to pay 1200 rupees for a skirt and find it in the very next shop for 400.
Film is one of the few things that has a pretty consistent price. The price is printed in rupees on the back of the box (usually around 110 rupees or so, give or take). In some places, the vendors will scratch out that price and sometimes write in their own. Push for the original printed price and if they won’t sell it for that, find someone else who will (unless you’re desperate). Most tourist attractions will have a few people wandering around with trays of film, in addition to shops carrying it. They know the value in having what people will want, so you’ll never lack for opportunities to buy film, water, or tacky souvenirs.
If you’re with anyone actually from India, it’s helpful to shop with them. They a) know how much things should cost, and b) let the vendors know not to take advantage of you. We were double-charged for lunch once until someone traveling with us checked our tab and told us to give the waiter half of what he’d charged, then yelled at him a little for good measure. Since we weren’t given a menu with prices, we had no idea that we’d been charged differently than the Indians we were with.
One last tip, if you’re from California or New York, you should probably say you’re from Iowa. Apparently they think that everyone who lives in CA or NY is Richie Rich and thus can be charged more.