Luckily I've never hired a completely abusive and gratuitous but competent asshole but yes, I would fire that person as a matter of principle regardless of how competent they are.
But come on, are we really discussing that scenario or are we discussing the much more common scenario like someone who is about as much of an asshole as 2010s Linus Torvalds? Someone who is really competent but gets very impatient with others, has no problem stating rudely that your work is bad, that you keep making the same tiring mistakes over and over again, that you should know how to do certain things by now, that you're expected blah blah blah.
I think that's the more interesting and worthwhile discussion to have and it's the case where for my company, I decided I'll take the asshole over the nice guy.