Kill one bird with two stones I always say...
I'll take any gun over a baseball bat or a fire iron poker any day, for example.
For HD, I'd take the baseball bat over a .25 ACP any day.
First you need a plan...
In my home I have taken a few precautions that are relatively inexpensive yet very effective. .