If the package is being rerouted back to you, I would just verify the address from the buyer and wait for the package to be returned. Once it has been returned, you can resend it again to the corrected address. Unfortunately there is nothing you can do at the moment until you get the package back in your hands.
I don't recommend offering a refund at this time because it can still be resent. Just exercise patience, both you and the customer. If the customer still decides to cancel, you can do that, but hopefully with good customer service, you can send out the package again and everything will be fine.
I know some are quick to go straight to the refund when things go wrong but my policy is that the refund is the LAST RESORT when something like this can be fixed by simply sending out the package again.
It sucks and will obviously delay things on the buyers end as well as make a huge headache for you, but the buyer screwed up by giving you a bad address. That is not your fault. Sending them a refund now is premature when you still have a chance to fix this on your end.
Also, a word of caution: I wouldn't refund anything until I got the package back in my hands (or confirmation that it is truly lost by the Post Office). I hope you sent it with insurance.