This is a very valid request and hopefully AirBnB will pick up on it. They offer monthly discounting options they could easily offer a sliding scale based on number of days.
IMHO: A table of # Days, Discount % wold be easy to employ. You would set your rate at the 1 day rate (vary by day of the week, it does not matter) and pass on a discount.
Lets say your target 3 Day weekend is a total of $350 ($125 Friday, $125 Saturday, $100 Sunday) and you want a minimum of $300 for the 2 rental. You would price something like this:
$300 Friday, $300 Saturday, $250 Sunday
2 Day Discount 50%
3 Day Discount 42%
The 1 day rental would net you $300 (Fri or Sat)
The 2 day rental would net you $300 (Fri/Sat)
The 2 day rental would net you $275 (Sat/Sun)
The 3 day rental would net you $357 (Fri/Sat/Sun)
Does not seem too coplex to me and would give a lot of flexibility to hosts.
I do agree with the post regarding cleaning fees, it is one way to mask a surcharge, but I don't like how it looks "deceptive" and it could make you look less competitive to a more experianced guest.
A perhaps simpler approach is an upcharge setting based on days. If you could publish that your rate is based on a minimum 2 day stay, but there is an upcharge of $xxx for stays of one day, it would be less deceptive and allow you to still appear competitive on your cleaning fees.
Just my 2 cents.