Why not have multi-member districts? Give both if the top two (or maybe all of top three) candidates seats, with their votes in the legislative chamber weighted by the number of votes they got.
This also has the advantage that any voter is more likely to have an elected representative they can approach on an issue without being simply dismissed, even if their position is anathema to the candidate who got the most votes.
If you don't want to increase the size of your legislature, you can achieve this by merging adjacent districts into a super-district with the appropriate number of representatives.