I believe that we will need a hard fork, eventually. We still have lots of witnesses who are on the old network (Chain ID issue) that showing up in ours. We have thousands if not ten thousands of accounts voting for witnesses who stopped being a witness long, long time ago.
Decaying Witness Votes
It is a controversial topic for most, that is for sure. Is it necessary? Yes. I believe so. There are many witnesses who just went away, there are witnesses who announced they are retiring, there are witnesses who publicly supported the old chain. There are people who know this and revoked their votes, there are people who know this but didn't or forgot to revoke their votes and then there are inactive accounts. The latter being the most prominent, as far as I know.
As you said @pharesim, voting for someone who is already in the top 20 might not make so much difference in comparison to voting for someone lets say placed in somewhere 100-120. Due to the inactive account votes, old chain witnesses and votes they are placed far, far lower. Even though they are actively supporting the network with the latest version. If, in the first place, there was a hard fork decaying these votes. Those people wouldn't even be in spots 100-120, to be honest.
I agree, vote decay is something i want since years
After talking with @gandalf today, even if vote decay doesn't become a thing. I definitely advocate for automatic witness disabling, as in; A witness does not produce a block (missing them) for 14 days, does not update the price feed, is on an old version of the chain (HF20-21-22 for us) just, disable the witness.
If a witness isn't able to find a solution to these problems in 14 days, 2 weeks, half a month. There is no need for them to be an "active" witness per se. If they, however, fix their issues. They can return on being an active witness.
I still think vote decaying is a better option but... this is somewhat a middle-ground.