So. Ideal scenario: There's somewhere in-game where you could have stockpiles switch between the new and the old collection method, and I'm just stupid and blind for having missed it?
I've been experimenting with this too. I have something which is closer, with some pros and cons. So for pigtails, for example:
Staging stockpile A: 5x5, no wheelbarrow, no barrels allowed, gives to stockpile B right next door.
Final stockpile B: 5x5, no wheelbarrow, barrels allowed.
Generally what's happening is the farmers no longer hoover up the pigtails in the fields with bins, because stockpile A doesn't take bins. So any long trips to the farms don't involve removing a bin. Because stockpile B is right next to stockpile A, when they do pick up a barrel, it's very briefly, and they tend to aggregate jobs better. You still have the possibility of there being no pigtails because the ones in stockpile A are on the job queue to be hauled, and the only ones in stockpile B are in the only barrel now being carried around. But it happens less often, and because the farmer isn't pulling the plant, then running for a barrel, then running back to the farm, then taking the barrel back to the stockpile, it's faster.
You might be able to minimize the cancellations further by having two final stockpiles that the staging stockpile gives to. Since the cancellation happens because the
barrel is being picked up, by having two final stockpiles with pigtails distributed fairly evenly, odds are that only one of the two partially full barrels will be grabbed, leaving the other available for the workshop task. Further, the workshop can also take from the staging stockpile if there are any pigtails there not yet queued for hauling.
A difficult variable to nail down in all of this is the magnitude of jobs relative to dwarves. At certain points in the game, I have enough haulers that every job can fit in the queue, so a lot of things get tied up. At other points, only a fraction of the jobs fit on the queue, so there are lot of opportunities for the farmers to do something before the haulers would get to the job.