As others have said, it all depends on your situation. Some of our past guests have extended their stays a night or 2, but of course they can only do that if the room is available. Rarely am I that bothered by a guest that I would say no. if so, I will just block some dates and say another guest is coming.
If, worst case scenario, a guest has booked long enough to be considered a “tenant” but won’t leave after the mutually agreed upon contractual term of the reservation (i.e., the booking), I trust Airbnb will intervene on behalf your next guest who has booked and paid for nights for the same room the other guests is “squatting” in. You could also make it very uncomfortable for the current “guest” who won’t leave your house.
Anyway, the cancelation terms are mutually agreed upon. Unless there’s gross violation on your part, Airbnb should not refund the guest any funds, except those stated in the cancellation policy. We’ve had a handful of cancellations within 24 hours, and I think one even got rebooked, so we made double the money. I always have Airbnb guests extend their stays through the site. Sometimes they make another reservation which is mildly annoying, but worth the extra cleaning fee.
I generally avoid any negotiating, that only gets messy. Guests like rules and want clear expectations. We do offer weekly discounts just to ease the sticker-shock of our price (which is already ridiculously cheap), but that only works if they extant their current reservation, not make a separate reservation shorter than a week.
Also, are you not already booked out? How are guests able to extend their stays? Do you block dates for personal use?