Why would non-promotion or "treated like shit" not trigger the negative consequences tptacek proposes? Would he and his fellow travelers not blow the whistle, quit or catcall their job ads?
What's perceived as discrimination varies. Society at large disapproves of discrimination, so everyone believes "it's not me". It's harder to pretend something as overt as a policy against hiring women is anything but discrimination, as opposed to "just having fun" or "random chance".