In the equations I wrote, 3 pumps tried to pull a combined 600Γ50%=300 fluid that tick, but since there was only 100 in the segment, it got split up as 33, 33, and 34. If I try to follow your instructions:
[volume]=100
[seg-cap]=200
[seg-fill]=[volume]Γ·[seg-cap]Γ100%=50% (I'm going to assume you wrote it backwards)
[entity]=[seg-fill]Γ100=50
[optimistic]=3Γ[entity]=150
[optimistic]=150>100=[volume]
[pull]=[volume]Γ·3Γ[seg-fill]=100Γ·3Γ50%=16.6667
???
Not only does the answer not make sense, (since the pumps should exactly drain the segment if they're trying to pull more than available,) you've introduced 3 steps (4, 5, and 6) that require querying and calculating for multiple individual entities (the pipe pieces and tanks that output machines are attached to) every tick, massively slowing down calculations if the segment has a lot of output machines, and worse, there doesn't seem to be any reference at all to the nominal flow rate of the machines involved, (12000/s or 200/tick for the pumps in this case,) so all machines would be drawing based on the same individual pipe/tank limits. (Why would a chem plant or turbine get as much as 100 or 25000 fluid per tick!?)