The algorithm should place more weight on the length of time that the funds are locked up for.
For example:
Poloniex signs up to be a witness and locks up 10,000,000 BTS in a smart wallet that is inaccessible for 1 month (before transferring automatically to a wallet accessible to them).
I sign up to be a witness and l lock up 10,000 BTS for 30 years (similar smart wallet).
The default, apathetic, non-vote goes to me and not them.
Dig?
The risk is not only money but time. Someone who locks up 10,000,000 BTS does not deserve to get the default apathetic votes unless it's for a long time.
There should be a floor, or minimum (time and money), Like you must lock up at least 100,000BTS for 2 years in order to even be eligible to get the apathetic non votes. Because if you do go through with this, then these "money witnesses" will get substantial votes. I hope you realize this. In fact, we might want to put a limit on the total number of witnesses that these money votes are automatically applied to (certainly not 100%), such as 25% or 50%. That way the money votes have influence, and power, but can't take over the system entirely.
This logic is very similar to the "burn your BTS for more voting power" discussion.