This has happened more than once to me, all I can say is NO, NEIN, NON, IIE etc.
I am so sorry that your guest totally abused you like this. Next time, stop and think. Then think NO.
I have had guests genuinely need to change their date, (once because ring wasn't ready for proposal), but I tell them that at this late notice I cannot refund unless I get a booking to cover. They will cancel rather than just not show, because if they cancel the calendar is opened up and I just might get in a late one. Happy to refund in that case and I do.
The stress which Airbnb removes is that you don't have to handle money. The amount is calculated, charged, and you don't have to feel bad about charging (I am terrible with charging guests, hate the money side).