You are trying to please everybody and predictably enough, no one is happy with you including you.
I suggest that you please ONE person, and that one person is you. Instead of trying to be all sorts of contradictory things to people, that you stop the foolishness and apply the personal style that best fits your personality and that you are most comfortable with - My personal style makes Attila the Hun look like a wimpette :) If I had a dog, the dog would run away from home :)
Better a few people being happy with you than no one being happy with you :)
In the light of your comment on my answer:
I talked to my management about me going to sensitivity training classes - the idea went over like a lead balloon - they said they could recognize a complete waste of money when they saw it :) I am blunt and tactless and I am perceived as such. And yet, I am generating nowhere near the universal negativity that you are getting. Probably because I am also perceived as being more than willing to help, and the fact that I am non-judgemental does comes through.
If someone comes to me for help, that's because they are in trouble. I am hardly interested that they screwed up - my focus is getting them out of trouble and back on track. My questions are crisp but focused on problem solving. I am not interested in anything but problem solving. I am interested in how they got there only within the context of problem solving. What's done is done, I can't turn back the clock and the only option is moving forward from there.
I don't do any of that judgemental b.s. about others being of "low quality", "sloppy" and whatnot. It's one thing to say that someone screwed up. It's a whole other thing to state that someone is of "low quality" or that they are "sloppy":it amounts to you passing judgement and if your passing judgement on them comes through clearly in the way you talk to them - "I am too direct with them" is a euphemism is for something ugly like you are being condescending to them, it's no surprise that they'll want your head even though you may have just saved their butt.
It gets worse: If I were your manager, I'd probably fire you because you are not treating those you are helping with the respect that they deserve. Especially if those you are helping are part of my staff - They may not know some of the things you do, but I didn't hire them because they are stupid, low quality or sloppy. I hired them because they are generally competent and I expect you to back them up not to back stab them with gratuitous comments about their low quality or sloppiness and whatnot. If they are indeed careless, sloppy and of low quality, just detail those instances to me and I'll deal with that. You are here to back up my staff and to back it up to the hilt. I didn't hire you to pass judgement on them and to act on that judgement - If my staff were truly incompetent, I would have fired them long ago. Thank your lucky stars that you don't work for me.
Focus on helping. Your self-talk about others being of low quality and sloppy is getting you nowhere career-wise and in fact,it shouldn't. Cut out that self-talk. Help, and let your other qualities - intelligence, quick reaction, etc - if you have any shine through while you help. Right now, your unfortunate interaction with them is blinding them to your other qualities if any. And unless you stop passing judgement, your legitimate attempts to do your job such as eliciting more information and data are going to be perceived in the worst possible light. Needless to say, this will negatively impact your effectiveness on the job sooner or later.
Unfortunately, you are not shy about passing judgement on your managers either,referring to them as PR oriented and in "low tones"-It's not coming through to me that you either understand their job or that you understand how they have to act to do their job. I'll give you a hint: they can far less afford to make people mistakes than you can.
Another hint: the Bible says "Do not judge others, lest you be judged" You're setting yourself up to be judged pretty harshly.