The easiest, fairest, more productive solution is to post the job where MORE DI candidates will see it. The next one is to craft positions that aren't built entirely out of "tech-stuff" that are bullshit metrics anyways, the CS Olympiad questions that don't work.
The need for diverse (in all senses of the word) is necessary for successful products.
Where I work, the majority of folks got hired directly out of college, they don't know any other src of truth. They have never had a blue-collar summer job. They came from rich to upper middle class families and their view of the world is similarly filtered. I can immediately tell when someone has "life experience" after 30 seconds of talking with them. To me, this is the bigger problem.