A party list- district winner p.r. system--- Parties and district candidates get on the ballots using a nominating petition. Each district should contain at least 5 X Total Voters at last election/ Total seats. Voters vote on a national party list and vote for district candidates. For each party getting Total Votes/Total Seats, the apportioned seats go to the candidates of such party with the highest number of votes in all districts. I suggest the use of the method of equal proportions (used to apportion U.S. Representative seats among the U.S. States after each 10 year population census). Each district winner would have a voting power in the legislative body equal to party votes x (votes for district winner/ votes for all district winners of such party) Minor added complexity- let voters make additional choices using Number Votes (1, 2, etc.) for parties (at least) and district candidates (for small parties mainly which can not get any seats using the party list vote).
