Could we allow miners to substitute specific transactions, by combining the transaction IDs.
This could happen in a simple revocable mathematical way, to allow for validation from other nodes.
This way we achieve greater efficiency on heavily used addresses. (Exchanges or Mixing Services)
Substitution will get more powerful, the more pending transaction we have.
Example: (A to B; B to C) => A to C