Earlier or later we'll have to face this. Imo it's better earlier than later.
Rather than complaining, I'd like to think more on how to prevent the top N worst scenarios from happening.
Improve the rules from the code, not from asking someone to do something or not to do something.
What are the worst scenarios?
* A whale votes badly (perhaps by accidentally)
* A whale's account is compromised, votes badly
* A whale distribute her stake among several accounts, votes badly
* A group of whales vote badly
* A whale lend her stake to someone else, asked for no change of votes, but the borrower changed the votes, badly.
* A "bad" witness or a group of "bad" witnesses is/are voted in
How to prevent them? Some ideas here, but may be wrong.
* One stake can only vote for one committee member
* Any witness with votes higher than 10% of total stake supply are considered "voted in" (in addition need to think what will happen if too many are voted in and how to deal with it)
* When voting, one must vote for at least 5 witnesses, no more than 100 witnesses, otherwise the vote is considered invalid.
* When voting, desired_witness_number = size_of(the voted list of witnesses)*2+1, or say, if you vote for 10 witnesses, you agree that you want there are 21 witnesses in total
* standby witnesses should be allowed to produce blocks in some cases, for example some "active" witnesses are detected offline, a detected offline witness must prove that it's online so that it's permitted to produce block again.
It's too bad that we lost two witnesses in the process.
It means our remaining active witnesses have to work harder.