For fixing the stale witnesses, I put in an issue onto the gitlab and @gtg responded in a way that would help fix it. https://gitlab.syncad.com/hive/hive/-/issues/50
The basic idea is that if a witness hasn't signed a block with the latest HF and the last time they signed a block was over 30 days ago, then the stale witness should become auto disabled.
To be honest, if vote expiration was implemented. We might not even need to automatically disable the stale witnesses as people voting for them would either stop and/or inactive accounts' vote would expire anyways.
We might not need to, but theres still the chance(while very low) that they get assigned a block and it gets missed. If that can be avoided, is there not a reason to do so?
Of course, extra precaution is always welcome.