As someone who is average weight and not at all fat I can say OP, stop being a douche. If he demanded the seat, by all means say no, and explain you don't let people talk to you like that and he should be more polite, after all, you don't have to give up your seat. But, don't sit here and say fat people this or fat people that... That's a douchy way to think of others and you should mention people on an individual bases instead of classing people like you have.