O que tinha que fazer era ranquear votos de presidente. 1ª opção, 2ª opção, 3ª opção. Aí vai iterando na lista de candidatos: remove o último colocado, realoca seus votos com as opções seguintes de seus eleitores e recalcula pra atualizar as colocações dos candidatos. E repete isso até só sobrar o vencedor. Os 2 turnos que temos já são uma versão simplificada disso, exceto pela parte de você ter que ir votar 2 vezes.
O ruim é que nessa última eleição já vimos gente se atrapalhando com ter que votar pra 2 senadores ao invés de 1, imagina se eles ainda fossem ranqueados. Fora o tempo que leva pra votar, no 1º turno foram 6 votos, se fizesse essa mudança do jeito que sugeri, seriam 8 (ou 10, se a proposta fosse aplicada aos governadores tambem), deixando o voto ainda mais demorado.
E sinceramente, eu não acho consertar o voto pra presidente tão prioritário assim. Mesmo que você não goste de como as pessoas votam, a população ainda tende a pensar mais em quem vota pra presidente do que em quem vota pros cargos do legislativo, então acho que se você quer melhorar as votações, é mais urgente aprimorar as do legislativo.