That's a pretty good idea. I had a similar idea using weighted ranking. For example, first ranked witness receives a full vote, second ranked witness receives 80% of the vote, third ranked receives 64% of the vote, etc. You could vote for 20 different witnesses but it would only be equivalent to 5 full votes.
I think your approach is more flexible but achieves the same objective of decreasing the ability of any large stakeholder from controlling all the top witnesses.