The problem needs to be attacked at the source. If a restaurant owner puts a "no weapons" sign on his door, go ask him why and give him the facts. If he won't change his policy, tell him you'll eat elsewhere. This has helped sometimes.
In NY, the legislators are the source of the problem. Those who voted for the bans need to be approached and called on the carpet. I would suggest a "boycott" of them, by means of a recall election, if that's allowed in NY.