In my opinion, companies should produce "challenges" for leading personal, from a sort of internal investigations team, and among them should be corruption challenges, security challenges, nepotism challenges and discrimination challenges.
If you fail them, you get demoted or otherwise restructured.
Of course, this creates a atmosphere of distrust, but some things, like Meritocratic atmosphere, are worth it.