It might require a protocol change (another soft-fork?):
1. The new "user voting transaction" could specify the transaction fee differently than it is done today. To be backwards compatible, such a transaction would have a difference of zero (0) between the values of the inputs and outputs. Therefore, old (current) miners would not very likely pick such a transaction (as they get no fee if they do so). Old nodes might not even propagate such a transaction.
2. The new "user voting transaction" could specify the miner fee as a P2SH output that has a dependency on the block it is included in, with certain conditions (e.g. SegWit ready). Only the miner who mined the block can redeem/spend that output if the mined block matches the "conditions" the user requested.
However, this requires a few additional/new script operations that allow nodes to validate the transaction against the block characteristics it is included in.
Not sure if this is possible at all, just a rough idea. But it would allow for a market/cooperation between users and miners - in contrast to today, where miners have the only voting possibility.