What I have found in life...
Those who berate others are doing so because of their own guilt, shame, or denial. Their attitude has them act just like attitude is a drug and denial plays right along with it.
Take things from where they come and just keep your side of the street clean that way you know where you stand...even when they don't agree.