[Sorry I accidently posted my answer as a comment; reposted from last week]
I have always thought we should try to develop some type of blind recruiting process. We do this for journal submissions, so why not for hiring? (This of course wouldn't improve diversity to my desired level, but at least would help further minimize discrimination.) This could be implemented for both the PhD application process and hiring faculty.
Idea: Design an application system that strips the names and any identifiable info of candidates from all material. Letters would be hard, but you could have someone not on the committee manually do this for applications that passed the first review or something. (Some private companies actually do not allow search committees to look at letters at all for this reason.) Don't allow the committee to look at candidate websites until you have an interview list.