It looks like you're new here. If you want to get involved, click one of these buttons!
The debate around the voting mechanism is not new. However, it is only as time progresses that you start to see how various things play out in practice. Before I continue, I would like to point out three great threads on this topic, in which the OPs and the commenters all make terrific arguments:
The main issue I think needs addressing is the fact that there is clear resentment in the community around certain BPs who are not fulfilling their duties, yet keep getting voted in by whales and presumably other BPs. And another is the fact that even if all us "small fry" were to throw our weight behind a vote against some BPs, it wouldn't even make a dent (see http://eos-bp-votes.dapptools.info/s/api/block-producer-votes-stack-html/1/30 for reference). This doesn't give the community of people who hold smaller amounts (read "non-whales") a feeling that they have a say in what happens, and voting (as ineffective as it feels to them and possibly is) is their only recourse.
I must say, I agree with the points made in favor of having 30 votes and in the method put in place by EOSIO. However, there ought to be a way for the "masses" to counter the "stake" in some way so that it's not purely a whale play. In reviewing the arguments in favor and against, I would like to propose a solution:
Have 2 voting mechanisms. One, to vote in favor of your BPs, 30 BPs per account multiplied by the amount you stake (current system). And the other (a new addition), to VETO block producers, where each account gets to choose any or all of the top 21, but not multiplied by the amount you stake. The veto can go into effect if 67% (or some other threshold) of the account holders agree to kick the BP out.
Vetoing a BP would be a rare occurrence. You'd really need a groundswell of people who feel the injustice of having the BP in place to bring this into effect. And if that many people really do dislike the BP that much to veto them, it would be wise PR to enable it. This is the age-old libertarian ostracism argument, where if enough people in the community don't want to do business with someone, it is a peaceful, nonviolent way of letting them know they are not welcome. Just because you have a large stake and some rich buddies, it doesn't mean you have a right to be a block producer.
In this way, the voting-in mechanism remains intact, as envisioned by Block.one but there is a way for the masses to make their voices heard and kick out BPs who are deemed toxic for the community. The community, after all, is just as important a component here. Maybe you limit it to accounts with over 100 EOS to ensure only those with skin in the game can veto, and possibly prevent some element of a sybil attack, but this is a way to give the masses a voice for extreme situations.
Please let me know your thoughts.