This is a half-serious suggestion.
Why not do a cursory interview to check whether someone has the technical skills and cultural fit, and then randomly pick from the remaining pool of candidates? Such a system would be fair, since every candidate in that pool has an equal chance of getting accepted (after passing the initial check). It's also a formal process, which should please engineers' need for "order". And it's cheaper than calling people for repeated interviews and coming up with whiteboard puzzles, so you're saving the company money.
It's not an ideal solution. But it's better than pretending we know how to identify candidates' competencies accurately.
You're also likely increasing your talent pool by not maximizing for people who are interested in preparing for and going through with the whiteboard interviews. Good programmers tend to have good jobs and lots of options already.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.