The only difference I see is one has a negative connotation and the other a positive connotation. At the end of the day though, you have to draw the line somewhere, right? Can you, for example, really call someone a bigot because they are intolerant of another person who believes in human sacrifice? An extreme example, sure, but where do you draw the line? Do you draw the line where someone's beliefs infringe on another person's rights? Because then you have to define what another person's rights are and also define what an infringement on those rights would be. I think that's easier said than done.
I think at the end of the day we're all bigots to some degree, unless you believe in nothing. I guess my point is the word "bigot" is a silly word that may or may not actually mean anything at all.
Thoughts?