what i like about your idea is that it makes everyone a potential candidate. and i think rather than randomness, that that is really the key. don't allow any candidates at all, but allow every voter to select a number of people they would like to see elected from the whole population. no candidates, no promotion of certain people, ..., just vote for the people that you believe are best suited. now this still favors more popular people who are more visible in the public, but it doesn't limit the choices to self-selected candidates.
Elections are only good for finding the most popular candidate instead of the most qualified for office. Keep terms medium length (e.g. four years) and you'll have people focus on the greater good instead of personal benefit because at the end of their term they have to live in the society they helped build.