You immediately know it's a charity and they're going to ask for money. It wouldn't be so bad if it was just cash they wanted, but you know that it isn't. They want to take your bank account details and rope you into life long commitment.

Once i was stopped by a guy, so i said upfront 'if your going to ask for my bank details, you're wasting your time'. He said no, no and began reeling of the facts and figures. After 2 minutes of uncomfortable eye contact and nodding he asked for it! I'd be much more willing to give them money if it was just cash, but this whole bank details thing is crazy.
The best technique i've found is to follow someone else's path in front of you, they'll get stopped and you can just slip past without getting caught. Or even better, wear headphones.