You need to make it expensive (in time or money) to run for office. Otherwise everybody would simply vote for themselves. Or people would vote for the special interest candidate of their pet special interest, and mainstream parties would vanish.
The proposal someone provided on my blog was that you should require X signatures for a nomination. e.g. if you have a constituency with 10,000 people and you want 10ish candidates require 1000 signatures for nomination.