Sucking it up does not work long term. Three or four years of a few people laying into you when they get the chance is no way to live your life. I have had jobs where it didn't happen, so they are out there. Each place has it's own culture. I worked in a department of a huge company, and that department was run by a very successful ass, and he promoted other asses (talking about giving supervisory positions to people who have repeatedly "crossed lines" such as having formal complaints about sexual harassment, repeated racist remarks, lots of inappropriate behavior on record), but that boss liked having those types as his next in command. He knew the would do anything (lie, break laws) to keep their jobs. Other departments in the same building were very different, I found out too late. One woman got a transfer for her boss making inappropriate comments, and all the woman had said was that she should put on a little makeup, look a little more put together when she came in to work. That boss got in loads of trouble, but it was in an area of the business where high performance/money was not the huge issue. Where I worked, it was THE issue, my ass big boss was a nationwide standout for designing programs that saved lots of cash.
Being someone who doesn't want to suffer through verbal attacks in the work place does not make one "functionally illiterate", it's an indication of high self worth. Leaving for something better is not passive behavior, it's very active. Running away in not the best way to look at it, that is defeatist thinking.
I have heard non profits attract a great group of people, they are earning less but sometimes are doing something they value. Not always the case, but nothing is 100%