Indeed, the part of arbitrary operations in the ERC20 implementation makes this really complicated. I see that the move of funds of ERC20 gasPrice would require also gas to make the ERC20 payment to the unknown future validator, seems indeed a loophole of problems, better keep it simple, thanks for the clarification.
I think that this is more something like what Raiden does, but without the RDN token (using the token being sent as fee), or maybe that could be done in a Token contract that itself supports the pay of “transfer fee” (not gas) which later could be included by other actor which would pay the gas and get the “transfer fee”.