Hello,
This has happened to me several times now over the years. I simply say:
Sorry to hear things didn’t work out for ( bla bla whatever). While I see your reservation is non refundable at this point, I can offer a solution. If someone else books any part of your stay, I will refund those days. You will need to cancel right away so the room shows as available and someone else can book.
This has worked well and generally results in guests cancelling, and the room being rebooked for all or part of the stay. (One guest canceled the night of arrival and I couldn’t get that covered.)
We do have a business to run and bills to pay, but I believe we get good karma for such actions. 🙂
Blessings,
TJ