I think you have to make a distinction between someone's
political preferences and their
prejudices. I'm going to talk about mostly about the former, rather than the latter, because the two are very different.
In my view, prejudice is based on ignorance and blame. Humans love to blame, it's in our nature and it's
convenient. So when we select objects for that blame, we often select (or let others select) people or groups that are 'there' but that we don't 'know' resulting in stereotyping. And whether it's political/religious beliefs, or race, or sexual orientation, it's 'safe' to blame them because they're different (and therefore inferior) from you. And because we don't really know what/whom we're blaming (and often why) it's easy to continually reinforce that negative stereotype leading to hatred.
Fighting prejudice is easy and it isn’t. It’s easy because knowledge and truth are very good weapons against the ignorance prejudice is founded on. But it’s also tough because emotion trumps reason and if someone’s prejudices have hardened into hatred, then it doesn’t matter how ‘right’ you are the other’s hatred has blinded them to a tragic extent. But that doesn’t seem to be entirely the case here since you say he’s shown you qualities of loyalty, care, interest, not judging you, etc that are incompatible with true hatred.
So, I make the distinction between political preferences and prejudice because combating prejudice is one thing, but dealing with someone whose political convictions are founded on knowledge and preference is very different. Politics are very important to me, I’ve worked on many campaigns and for many years my boss and mentor was an elected official. But I still have friendships with people whose political opinions are very different from mine. Sometimes we'll fling phrases like 'fascist pig' or 'socialist nutjob' (I'm the 'fascist pig' btw) at one another but it's done in a teasing manner and neither of us takes (or is intended to take) genuine offense at the insults. At other times we'll have serious 'knock-down' arguments over some of the issues of the day to the point where we're glaring at each other and wondering how that smug SOB can be so
obviously wrong?

At those times you just have to end up agreeing to disagree and know that if you bring up the subject again, there's going to be another heated exchange...
Now those arguments with close friends aren't fun and I'll often feel 'wrung' out afterwards from the emotional release alone. But even the 'worst' of those arguments has ultimately done me good because it forces me to take a look at my beliefs and see if I hold them out of convenience or conviction. And that kind of self-examination/evaluation is good for us in the long run, however uncomfortable or jarring they can be at the time. But while many political issues are important to me, they’re tiny compared the importance of genuine friends who are willing to agree to disagree on them to get by.
Too often, we go through life serenely in our own little ideological 'bubbles', reinforced by our friends who we agree with and unaffected by what others say, because we don't
know those others and hence don't place much value on their opinions. It's one thing to hear ‘talking heads’ like Michael Moore/Rush Limbaugh say something you disagree with, but it takes on a whole different dimension when your
friend comes out and says the same thing. It makes it much more 'personal'.
But ultimately, only you can find out whether your friend’s expressed views are based on convenience or conviction. And while you’re thinking about that, you should think about your own convictions as well. For example, you throw out the fact that your friend owns 120 guns but what’s interesting is that you provide no other context with that fact other than he’s a ‘right-winger’ who ‘hates gun laws’ (and, in a sense, who can blame him – if I owned 120 of anything that’s government-regulated (cars, dogs), I’d probably hate those regulations too!

). So, if you haven’t already, ask yourself (or him, if you’re unsure)
why he owns 120 guns. Is he a survivalist? A collector? A
really avid hunter?

But, most importantly, is he the kind of law-abiding citizen that gun laws are meant to
protect? I’m betting the answer to the last is yes or your friendship would never have gotten started in the first place or lasted as long as it has.
So along with the others who’ve posted, I’d encourage you to be a bit more open about your own views when such subjects arise. I get the strong feeling that he’s a very confrontational personality, while your personality is more easy-going/diplomatic. But you don’t have to be confrontational in turn to push back a little. My own experience with those kinds of personalities is that they make outlandish statements in hopes of starting an argument.
But you don’t have to play the game by his rules. Instead, give him a little nudge and see whether it knocks him off his stride a bit. If it doesn’t, let him continue a bit and give him another one and if he keeps going, let him take himself to some weird extreme that you both can laugh at. What do I mean by a nudge? The next time he starts talking about ‘California liberals’ are screwing everything up, tell him you are a ‘California liberal’ and they can’t all be bad if he’s been friends with one for 16 years. See what he says… (and, if it’s not too much to ask, PM me or start a new thread, because I’m dying to find out!)
Friendships, once made, should never be lightly cast aside, especially when they’ve endured the years and times that yours have. Sometimes, while we’d rather not, we have to put conditions on friendship just as we do with love to remain healthy. You’ve been putting up with things that obviously upset you and you should take steps (carefully, especially in the beginning) to let him know. But also be careful you know and convey what exactly those things are. Changing boundaries in a relationship is one of the most delicate of operations and make sure that you’re respecting his convictions enough even if you don’t share them.
Finally, because shifting boundaries is so difficult, I wouldn’t agree with those who would indicate if he doesn’t adapt well to the new boundaries you’re trying to set means ‘never been your real friend’ anyway. Accept some responsibility in that you may have helped make this friendship a little too easy/comfortable for him in the past but the times are changing. He’s come through for you before, give him an honest chance to come through for you again. That may mean giving him some time or space to make some adjustments of his own, but (incurable optimist as I am) I think both you and he have real potential to grow as people because, and not in spite of, your differing views…
Regards,
Alan