We just need a way to charge for held htlcs. It should be base + amount * proportional_1 + time * amount * proportional_2
Discussion
I found a way to do it: run two nodes. The first has a short max-cltv-expiry and charges low fees. The second has a long max-cltv-expiry and charges high fees. Voila, your charging extra for longer-held htlcs.
Pretty cool idea. Big nodes wont do this because it fragments liquidity but is good for privacy focused node runners that might already run multiple nodes.