Here is an extreme version of Vincent's answerVincent's answer. Bring in random ballot!
Let's give your legislator a large number of seats, let's say 1000 (it being large is important). Now, everyone votes for who they want to be a legislator. Now 1000 random ballots are drawn, and those are the legislators for this term!
This is, on average and in the long run, perfectly proportional. This means that basically every view point that's held by at least 1% of the population will likely be included.
In the extreme, you can let people vote for anyone. This means you could have everyone vote for themselves, in which case, everyone can have their own political party! If you want to put some checks in place, you could do things like say you need 300 signatures to run (which exceeds Dunbar's number), or make another legislature that is set up in a different way to that has some ability to limit the random legislature.
Random ballot has the interesting property that it doesn't become denominated by career politicians (you can still be a successful career politician, its just that they won't have 100% of the power), theoretically. If 10% vote for a farmer, even though each individual farmer is not very likely to get in (since they focused on farming instead of politics), 10% of the legislature will be farmers.