> you can't get them fired because they deliver fast rushed spaghetti code
That is a management problem, not a hiring problem.
A couple weeks ago I asked for specific examples in a similar discussion[1]. Most of the responses I got were partially or totally management problems that companies were trying to fix by modifying the hiring process. If your management processes are shit, then you do need to be extremely careful about who you hire, because one bad one can ruin your company. The root cause, though, is management, and the proper solution is to fix your management processes, not hire unicorns.
[1] https://news.ycombinator.com/item?id=8694284