1) Look at relative data, not raw ratings. Written reviews or raw numerical scores are what show the nightclub effect the most. What we care about is a ranking of companies (showing the better companies first in search results). This may not be as impacted by the problem. If sour grapes from people who failed interviews overwhelm other signals, we can only look at the scores from people who pass (or normalize the two groups separately).
2) Ask very specific questions (and maybe provide dummy options to attract sour grapes). I suspect that questions like "did this company say they could meet at $250 salary and then offer you less?" will get more accurate answers than "does this company have a toxic culture?". (We do actually want to get culture data, but I want to be really specific about the culture questions we are asking).
3) Use objective facts, not subject opinions. For example, we can tell when a company ghosts a candidate (because they reply through a proxy email that we control). So we're listing the 'ghost rate' for each company.
Anyway, a ghost rate would be greatly appreciated.
I'm pretty sure many salty people will just lie anyway, to punish the company. Source: I've been on the internet a long time.
I think this model of 'punishing' companies would've worked when you had a high bar for being on the platform in the first place, but if anyone can get on there, you'll have a lot of low quality candidates who are very mad that nobody will take them, and they'll overwhelm the reviews.
Remember that there's a survivorship bias at work: the lower quality people will take longer to get hired, which means they do a lot more interviews, which means a lot more reviews on your platform. Essentially, it's a reverse meritocracy when it comes to evaluating companies.