Given the shambles that BA sadly has become I suspect the Captain knows from experience what responses might be expected from pax and acted pre-emptively. I've heard similar announcements before, although the last announcement I heard was more along the lines of "we're sorry and please don't take it out on the crew" rather than "we have a zero tolerance policy". I agree that the latter is unnecessary and a poor choice of words.
The OP's experience sounds very poor indeed. BA's idea service recovery is insulting and that tells you a lot about the management and corporate culture. Abysmal.