People can change their behaviour over time, but actually, it is quite rare for people to overturn deeply entrenched standards. When someone's behaviour changes so drastically it is not always that they have changed their standards, but that they have stopped trying to do the right thing. It is quite common to hear people say "I don't care anymore, I'm just going to do what I like", which suggests that they have always wanted to behave a certain way but were holding themselves back. I don't think Bob has suddenly developed a sick sense of humour - I would suggest he always had it but somehow feels more comfortable externalising it now.
That said, nearly all psychologists advocate separating a person from their behaviour. You are far more likely to get someone to turn around if you confront them with "that wasn't a nice thing you said/did" than if you say "you're not a nice person". I definitely think though that for you to confront him about his lack of empathy, you need to have empathy yourself for Bob. There may be genuine underlying reasons for the way he has started to behave.
Some of his behaviours are quite dehumanising. He views people based on their outward appearances (ugly, dressed badly etc), something which, if we are honest, we have all done at some point. But if left unchecked this leads to us not seeing people as people, and that may explain how he can find humour in something horrific happening to an individual. Also, we live in a time of political extremes where some sadly view others based not on their individuality but by their group identity. Again, this can have a dehumanising effect and lead some to lack empathy for certain groups of people.
There are a few conditions that can affect a person's emotional intelligence and cause them to lack empathy, such as narcissism, and it is possible that Bob has some kind of condition that has not previously been apparent. Barring that possibility though, empathy can be learned even in adults.
It may be that you can initiate a change in Bob by forcing him to empathise. For example, if he says something derogative about a woman, you could say something like:
How would you feel if someone else said that about your mother/sister?
This kind of question could help him to see other people as people with whom he does already empathise. If you think it breaks through to him, try and force a conversation from it. You might say:
Some of the things you have said recently have really shocked me. Everybody you laugh at is human being too, like you, like your family.
You don't necessarily have to wait for such a behaviour to present itself to have this conversation if you want to get straight to it. But remember that people with low emotional intelligence can also be highly argumentative, and so you might not break through so easily. If you are prepared to keep trying then you could do this over a prolonged period of time to see if it eventually gets through to him.
If you think it really is extreme and he may actually need professional help, you could make a stronger statement:
I have told you previously that I find some of your statements about other people shocking. I actually think you have a problem. You have no empathy for your fellow human beings and I think you need help. I certainly cannot be around you if you continue as you are.
I hope you are able to break through to him. I've linked to a number of articles along the way that explain and back up some of the terminology and points I have made - these may also contain some useful pointers for you in constructing what you have to say.