I'm with one of the earlier posters in that I've NEVER had any trouble from any non-motorized people. I ride everyday in Los Angeles and all of the kids I run across are walking with their families to school or riding old ten-speeds they've cobbled into fixed gears. It's pretty humbling to have some 15 year old on high tensile steel, jeans and a hoodie smoke you on the flats, but even then they are all smiles and just enjoying the race.
Though I think my perspective on threatening strangers is a bit skewed as I'm 6' 4" and 235lbs. I couldn't actually do much in a fight, but I think most folks would rather not find that out and will move on to weaker prey, especially kids. Though for some reason this doesn't apply to angry drivers who for some reason think they are all Rocky until they get out of their car and are looking up at me.
Still in almost all situations on the bike it's easier to just wave and smile and let the a-holes move along. I don't see how you could go for a weapon that wasn't mounted somewhere akwardly and just in the way 99.9% of the time.
IMO the biggest and most effective safety features are a good mirror, plenty of lights, and a whole load of patience. YMMV.
__________________
Non semper erit aestas.