I agree with the sentiment that there's no good reason to hate on Sanji
However, you are guilty of a mistake many make with your first argument in this thread. The Baratie scene is always brought up while ignoring the whole discussion that happens around it afterwards and it's conclusion
It's not that Sanji did not have it in him, but that he'd "stifle that very spear" for Zeff's sake.
That arc serves as evidence that he can be like Luffy and Zoro in this regard, not the opposite. That's what kickstarts his journey.
This is very true for Luffy and Zoro as well btw. They both get swayed by emotions and put themselves in harm way for the sake of others weaker than them. Luffy and Zoro would not be "perfect Germa soldiers" either.