I have three cats. The Maine Coon would probably run in fear from an attacker (he's big and powerful when he jumps on you, problem is he'll only jump on ya to be petted!). The Russian Blue/who knows what mix would probably hiss at you and then run, and the little alley cat would probably want to cuddle! As for them charging, if you're so scared of cute little kitties that you'd put a round into them, than tisk tisk, and you PROBABLY shouldn't be carrying ANY type of weapon.
Now, as for the ferrel cat laws, mine are all indoors cats, and stick close to the house whenever they make the great escape. We had one get loose for a week (scared of cars so she'd run every time anyone would pull into the condo parking lot), so I wouldn't be too worried about THAT one. And as far as home protection goes, my little alley cat is so damn cute that a bad guy would probably get caught up in cuddle time, then BAM!!!
Seriously, anyone who lives in a neighborhood where they even remotely know their neighbors PROBABLY knows their dogs as well. I know that I could tell whether my neighbors' dogs had snapped and wanted dinner, or if they're being their normal selves and craving attention and the innevitable bit of food which I'll give them if I'm coming in from a food run...
And if you're in a strange neighborhood, or somehow your neighbor gets ****** and orders their dog to attack, then yes, defend yourself. I'm fortunate enough to live in a small town where I pretty much know everyone's habits, even if I don't know them personally. However, I realize that not everyone is so FORTUNATE as I am to be in a tiny little nowhere town where the people in the stores and such know their names. So yes, err on the side of caution if you're really not sure, then watch Animal Planet for some closure.