The best solution to me is expanding replay. First, make more types of plays reviewable. I know this is easier said than done, as challenges on non-calls are difficult to implement without stopping the action (and that’s like basically calling a timeout when the other team has the ball).
Second, the coaches need more than one challenge. Three seems fair. And they keep them if they are successful, if not they are charged a timeout (and the challenging team can’t join the bench like an actual timeout). If this delays games far too long, that means the refs are making too many mistakes.
Third, just add a fourth referee already. I don’t think more eyes necessarily means more whistles. In a multi-billion dollar company, employing like 15 more referees seems like a worthy investment.