Can I do blind refunds relatively reliably? If I receive a Bitcoin payment, and do not have any other information about the sender, can I refund the payment with a decent degree of reliability?

The current state of things is that the general problem didn't have a catch all solution, but blockchain.info wallets, and I believe coinbase as well, allows you to send the tx back.

How reliable are blind refunds in practice?
Do not use the raw protocol to issue refunds to addresses without first confirming with the sender that this is acceptable.

Most services generate unique addresses for each transaction.  Unless your customer owns the private key to the address from which the initial funds were sent, you can't be sure that they will receive the refund.  Different services have different implementations but if a customer sends you funds from a third party service that uses a single address for payments, the funds would be deducted from their account via a SQL entry and sent through a shared address.  The returned funds would be received by the service but not necessarily by your customer.

You should contact customers and have them confirm a refund address before sending.