Yeah, generally the problem (as perceived by most of the Poles, I think, but this is anecdotal evidence) is that party-based system doesn't really work all that well. We have two major parties and about three minor ones that stand any chance in elections (we have 5% quorum, if you get less that that, you don't get into parliament; it's a little bit more complicated than that, because you need to get 3% to get state funding, and 7% instead of 5% if you start as a coalition, instead of a single party, but the general idea stays). And I would guess that about 60% voters, if not more, would be happy to vote for someone/something that is not any of those five parties. See, the problem with parties is that they give you the whole package, instead of something more granular (for example, if you are pro-gay marriage, you also have to be pro-high taxes, because there is only one party that can represent you - this is not the actual example, but you get my drift), AND the fact that often people the party you like give you aren't the people you like. See, due to fact that some of the voting regions are very strongly aligned to one of the parties, those parties like to drop no-name candidates there, knowing that they will get voted for no matter what, and drop the best known MPs in the regions where they have smaller chances, to get some votes there. Or do other shenanigans. Also, if you vote for a guy you like, but he is further down the list, someone else will probably take the spot, being higher up.
Also, Sheb's b) is also quite a problem, as our MPs either don't care at all for 'their' region (especially if they've been dropped there by their party due to having a well known last name), or care for it a little much, hurting everybody else in the process.
And one more problem - as most of our political parties are led by very strong alpha males, they are quite dictatorial in their inner working, which leads to a situation where you can vote for a person who seems to think like you, only for him to vote differently due to party discipline and stuff. And it is hard to punish him by voting for someone else, because they all have the very same problem; they have their hands tied by the party...
---
I have my own answer to those problems, actually, and it requires not changing the ordination and voting stuff, but the major reworking of parliament itself.
Instead of one humongous and homogeneous Sejm/Congress/Bundestag/what-have-you (and I disregard second part that happens to exists here and there, as it doesn't wield too much power usually) we need to have one smaller cabinet per area of interest (like, treasury, agriculture, industry, stuff like that), of about ten people (preferably 11, to make ties less probable), and special tax cabinet and one special 'superior' cabinet, constructed from person with highest vote turnover from each of the cabinets, which would be responsible for directing cases to a right cabinet, whenever ambiguity arises. Every cabinet has only one, country-wide list, and every person votes for one representative in each cabinet. Eleven people from each list get their seats, and they are voting only on the laws that are in their area of interest. To pass a law, it must be agreed upon in each cabinet that it is voted on, so more comprehensive laws usually need to pass through multiple cabinets. And special case: anything that has to do with the taxes needs to pass through the tax cabinet. Every time a proposition would lead to increasing spending, it must point to a source of money, and if it is funded by taxes, it needs to pass through tax cabinet.
Changing Constitution would require some qualified majority in the Big Chamber, where every member of every cabinet gets one vote (so something like today).
This way you can get your representative in every field, even if no party has a proposition that suits you.
Possible modification: everybody with more than 1% of votes get in, but every person in cabinet has a weight to their vote, and this weight is equal to the percentage of the voters that voted for that person.