Each party must field in final election a number of candidates based on the percentage of support the party recieved in the previous election for that race. It could be that a candidate must be fielded for each 105 of support. This would be a minimum. Larger elections that can field more candidates, such as presidential elections, would have a higher number of required candidates than smaller ones, such as local elections in small towns, which may be able to field only one per party or not even have party affiliations.
This would give a wider range of choices in the final election. It would also force the big two to divide their forces, giving independent candidates a better chance while keeping the same elections style.