Re: @Eddy Ito - gerrymanding
Sure, there are several algorithms currently available like Brian Olson's and splitlines to name a few. It wouldn't be hard to tweak them to keep existing things like town or county boundaries stay reasonably intact.
I also didn't notice until just now RLyons comment about open primaries like we have in Cali as an attempt to minimize partisanship so I'll address it now. It's probably the worst system out there since the two top vote getters move forward to the general election as it doesn't take into account the numbers of people running and their parties. In short you could theoretically have the two least wanted candidates in the general election because the votes of the others get split. For instance, party A has 6 candidates and party B has 2 candidates. Consider what happens if each A party member gets 12% while the two B candidates get 14%. The resulting general election is between the two B party candidates even though they only amassed 28% of the vote in the primary and the other party got 72%. Hardly what one would call a non-partisan system as it would behoove party A candidates to come to an agreement outside of the electoral process about who runs which artificially limits voter choice albeit in a different manner than the current Cali system does now.