I reckon that 'black' anything is offensive as you are unnecessarily bringing the colour of someone's skin into it.
Fat bastard is also wrong. For all you know there could be some underlying medical or psychological factor that explain their obesity. Or, they could just be lazy, greedy bastards, but you can't make that judgement without full possession of the facts.
Just use 'bastard', 'c*nt' or even better 'c*nting bastard' and you are pretty well covered on the race or offensive front.