There are downvotes for delegates and workers .. just not for witnesses
There are downvotes for delegates? Can you link me to source for that?
So, I was thinking prior to any other complicated aggregation methods for workers, the worker voting system could instead use an additional signed byte along with each worker proposal ID in order to represent the extent to which the stakeholder wants to use their stake to vote for or against a worker proposal. So this would be more like range voting. A stakeholder could vote with 100% of their stake for a worker proposal or 100% against it (or anything in between with approximately 0.78% granularity), and similarly for all other worker proposals the stakeholder cared to vote for. The idea is that simply changing their votes with a single transaction is an easier and cheaper operation than making multiple accounts and splitting their stake between those accounts to achieve the same results.
The reason one might want to do this is because the stakeholder might prefer a worker ranking of A, B, then C, but the global ranking is A, C, then B. If there is only budget for the top two workers and B and C are close in ranking, it will be in the stakeholders advantage to change their vote to A and B only (taking away their vote for C, or perhaps even voting against C if downvoting is allowed) thus perhaps changing the global ranking to A, B, then C. The stakeholders might be repeatedly updating their votes playing games like this (at least it adds up fees to the network), but it will be much easier for stakeholders to get closer to their true preferences with the range voting modification I discussed above, rather than trying to hack it by splitting their stake among multiple accounts voting for different subsets.
Ideally, it would be nice to come up with a vote aggregation system that makes games like the one described in the above paragraph unnecessary. One could then just set their preferred ranking as part of their vote on the blockchain and the blockchain would effectively automatically adjust how much of the stakeholder's stake it uses to vote for or against worker proposals to try to get the global ranking as close to each of the stakeholders' recorded preferences as is possible given the constraints on the voting system. However, even if we were to come up with such an elegant vote system, it might not be computationally feasible (or just not desirable) to do the aggregation frequently enough so that vote updates do not have undesirably long delays before being reflected in the global worker rankings. So the range voting modification above would be good enough in that case.