If you don't have that "tourist" look about you, i.e., rucksack on your back, map in hand and cameras suspended from around your neck, I find a terse "Nie Dank" usually does the trick - I have also found that a lot of these shady types respond quite well to a quick "niet!" (maybe they think "russian gangster"?)
The more persistent little buggers can be thrown off by walking straight up to the nearest police officer and pointing vigorously at the oxygen thief in question. (There's usually plenty of police around, especially in the RLD.) If you look intimidated by them, they will sense the weakness and carry on - I've always been firm but mostly polite... smacking them straight in the face can have unpleasant repercussions - you never know if they have friends nearby!
On a very early trip to Amsterdam, arriving at about 11pm with my rucksack on my back and searching for hotels, I found I was being followed by a particularly unsavoury type up and down a few of the main streets. I stopped very abruptly, turned around and said to the individual, "Come on then.. if you're gonna have a go, HAVE A FUCKIN' GO! Otherwise, FUCK OFF AND STOP FOLLOWING ME!!!" That stopped him dead in his tracks and as he started looking around himself nervously, obviously not expecting this kind of reaction, I took one purposeful step towards him and put my "now you've really pissed me off" look on my face. He backed off, muttering something under his breath at me and disappeared... If you look like or behave like a victim, you'll probably end up like one. That said, Amsterdam has come on so much over the last 20 odd years, safety for the tourists is vastly improved now, and I don't worry about walking anywhere on my own in the early hours or late at night...
As far as Coffeeshops go - Grasshopper is renowned as a tourist trap and generally sells shitty quality, wet weed which you can't inspect before you buy - steer clear. Bulldogs - meh. Take 'em or leave 'em. If you wanna feel like you're back home with a load of rowdy pub-goers, then that might appeal. Not to me sadly. Dutch Flowers seems to get mixed reviews as well - some people get nothing but abuse when they go in, some people love the place.
Just be sensible, keep an eye on your stuff and have a good time. Read the reviews on here and you won't go far wrong!