The issue is in tracking total stake that supports them. That means every 'balance' in the blockchain would have to have N delegates attached to it instead of just 1. When you spend that balance you subtract from N delegates and reallocate your votes for those shares to M delegates.
I don't think you need to "subtract from N delegates" each time you spend.
Stake supports delegates: 1,2, & 3.
transaction says "add delegate 4"
Stake supports delegates 1,2,3, & 4.
transaction "remove delegate 2, add delegate 5"
Stake supports delegates 1,3,4, & 5
transaction "remove all prior delegates, add delegates 6 and 7"
stake supports only delegates 6 & 7.
transaction with no change
Stake continues to support delegates 6 & 7
What you are asking for is that each delegate sink or swim based upon an independent election. This is no longer 'delegation' but rather popularism.
I guess if you make that distinction, then delegation encourages delegates to support the interests of the faction that delegates to them, popularism encourages delegates to appeal to all shareholders and support the interests of the whole DAC.
If you require all delegates to get at least 51% net support then you are asking all of the users to evaluate all of the candidates and that is much to high a burden. If you lower the threshold then it opens the network up to attack by individuals with large minority shares that can move faster than people can 'vote out' their candidates.
So I see such a system resulting in either no delegates getting to the threshold or an attacker creating 10000 delegates giving them all a bunch of support faster than anyone can vote them all out. It would become very costly to vote against 10000 delegates produced by the attacker.
There is no bottom "threshold", It's basically the 100 accounts that have the most support are active delegates. So no chance that no one reaches the threshold. (I said that 50% could be used as a threshold to add additional delegates only in the situation that all active delegates already have over 50% support)
Let's say a big holder, I'll even give him 10%, wants to attack the network by creating 10000 delegates. Everyone sees this and no one has any incentive at all to vote for those 10000 delegates except for the attacker. (there are no downvotes, so people don't have to bother voting him down). The only way his 10,000 delegates get active is if the rest of the 90% of the commmunity can't get it together enough to give 100 delegates more than 10% support each. People would probably be voting for just about anyone able to run delegates that wasn't one of this ridiculous group of 10,000.
There is nothing for this attacker to gain by doing this and everything to lose. He runs the risk of having his giant and otherwise hugely valuable 10% stake be forked out completely by the rest of the community or otherwise become worthless, not to mention wasting a bunch of money registering 10,000 delegates for no reason and looking like a jerk for doing so.
Assuming that running a delegate is a profitable position, rational economic actors operating within the current voting system will end up voting for themselves or for delegates that kickback to them. The down voting can't stop this behavior. Anyone trying to be a hero by downvoting will miss his own opportunity to vote for himself or for someone giving him a kickback, he also misses the opportunity to vote for a candidate that is trying to benefit the whole DAC, he also will never be able to stamp out the activity of everyone voting for themselves or giving kickbacks so stopping one of these actors only leaves more spoils for others doing the same thing. An entity willing to run delegates at a loss and give big kickbacks could quite likely surreptitiously gain over 50% of the delegates over time by appealing to people's profit motive (see GHash.IO as example). This entity need not be heavily invested in the chain.