This is probably too complex. But suppose voters were able to cast ballots of the following type:
The voter organizes the candidates into tiers. For example, suppose there are 6 candidates A, B, C, D, E, F, and let one voter organize the tiers from top to bottom as follows:
C, D, E;
The top tier must contain a single candidate, while the remaining tiers can contain any candidates—they do not have to be disjoint.
This ballot is then an asset to the top tier candidate, who is enabled to trade this ballot with other candidates according to the following rules:
A ballot enters a new round when it moves from one tier to another.
If in the current round, the ballot has not been held by every member of the tier belonging to a certain candidate as indicated in that ballot, that same candidate cannot trade that ballot with lower tier candidates as indicated on that ballot.
Otherwise, that candidate is allowed to trade the ballot with any candidate of a higher or equal tier, as well as with any candidate in the single next tier below them if such a tier exists.
Probably more rules would make it more sensible but also more complex. However, in this case it is on the candidates who have a lot of skin in the game to actually play it. So it’s like asset voting with trade restrictions.
It’s probably way too complicated for the candidates to keep track of everything, since every ballot is different. But maybe something like this but simpler could be devised? Or if candidates could have computer assistance to organize their assets into types? I don’t know.