On Eschaton, a couple of commenters (tinfoil hattie & john d'oh) had a great idea. At Bush presidential events, instead of wearing an anti-Bush t-shirt, wear a pro-Kerry shirt (or hat or whatever). Then see if they try to give you the bum's rush out. Make sure the local press sees you--maybe even give them a heads up.
Note: I specified presidential visit, because that's where shutting down protests is the most egregious and has the most impact.
However, anytime someone is charged with tresspassing for wearing a shirt with words on it is despicable. There is absolutely no justification for saying someone wearing a protest t-shirt is a terrorist threat--unless they're the stupidest terrorist on the planet.
I really think we'll see this "protest zone" or "free speech zone" go away once a decent case gets to the supreme court. So hurry up already!