can't you refund them to the address they came from?
A transaction can have multiple inputs and multiple outputs. There's no way to be sure that the input address you choose to refund to was the original owner of those Bitcoin.
right.
does that happen in practice? (Maybe transactions originating in an exchange?)