I too have problems with drives stopping responding. ddrescue doesn't notice that the drive is not communicating at all, and proceeds to log the rest of it as errors.
There is a SATA disk reset command, it's a variation on:
echo "- - -" > /sys/class/scsi_host/host*/scan
For me, it makes the drive responsive again.
It would be fantastic if ddrescue could detect if a drive has dropped off, and issue the appropriate command to get it back online.