Which is something encouraged by the system itself which would have to be changed to improve this:
1: Problem: Votes that do not expire
Imagine in the real work how much less even politicians would care if people had to actively go to unvote them to remove the vote. They'd just do even less, even less transparent and they would be in power eternally.
Solution: Witness votes expires after 1 year.
This would not only encourage witnesses to be more active, but also punish inactive stakeholders for not participating in the democratic process.
2: Problem: Allowing to vote up to 30 witnesses
This automatically centralizes the chain even more, since most of the stake, as on most blockchains, is distributed to a few whales, it is easy for whales to significantly manipulate the top witnesses. This way, 1-2 big whales can already define all 2 witnesses.
Solution: Allow to vote only up to 10 witnesses.
This would decentralize the election and reduce the immense influence of the biggest whales. Allowing them to only put in a maximum of 10 top witnesses.
3: But now we come to the key point, there would have to be pressure from the stakeholders to change this (unlikely because of point 2) and witnesses would have to approve this (unlikely because of point 1).