If you're just concerned with self-defense in a shelter situation, you don't necessarily have to rely on "obvious" weapons like guns and knives. Some objects that don't look like weapons can be used as weapons, though you will need training to use them effectively. (No, I'm not going to tell you what they might be and how to use them. Communicating the latter in a realistic sense is impossible just in words.) Some practically oriented martial arts schools may be able to help you with it. It may take you several years, though.

I wrote a long paragraph about another solution, but I deleted it, partly because I had to earn this knowledge, and partly because it could be too easily used by people with criminal intent. You never know who's watching on the internet.

Maybe those who have run shelters or been to shelters can answer this question: how much should we worry about personal safety in a shelter? I'm inclined to suspect that theft would be a bigger problem than violence, and that awareness would go a long way. Of course, I haven't been to a shelter.