As you might know, the surge and drop of bitcoin in the latest Days, and the volatility, is mainly because the txfee. Its just not resonable to pay like 20 USD to send a bitcoin transaction just because the value is so high.
txfee is a tool mostly to prevent malicious users from inserting garbage in the blockchain, thus you could have a txfee that stays roughtly constant (in value) over time, regardless of the value of the bitcoin.
Since the value is loosely pinned to the difficulty (higher difficulty = higher value), what about a txfee that is based on the inverse of difficulty?
Basically, a required txfee that is based on the inverse of the highest difficulty observed the latest 6 blocks, and clients will use a txfee that is calculated based on the inverse of the lowest of these 6 blocks.
This will gurantee that the txfee used in a transaction is always higher than required, and that the txfee follows the value (txfee drops when value become higher).
This also gives a opportunity to mine old blocks when value are rising (as old txfee's are more valueable as they are higher), and mine new blocks when value is dropping (as these have higher txfee)