What I would do with Electrum is that I would send the funds to the recipient and specify the mixer address as well with a random amount as a placeholder, go to the transaction preview, see how much of the amount I'm left with after the fees and adjust accordingly such that the change is not sent back to anywhere else. Or else, script your own raw transaction.
So your change is always zero. is this correct? And you mentioned the mixer address. Is this address of some real shuffling service/wallet you use? Regarding Electrum, it would be much easier to adapt the change there if the fee fixing was allowed before (but not after) building transaction as it is done in Armory.