Yea, I would like to see a better communication method for these error to be communicated up from the kernel through userspace. Most of the time when a "normal" user gets errors for EIO, they see some kind of crash or debug message. If the filesystem could simply put the filename with the error into a list for some userspace service, the GUI file manager(s) or some health monitoring service could notify the end user with something a little more descriptive.
This could also let the user activate the relocation write scrub for that file.
I guess this is all stuff that can be solved in the more advanced filesystems like ZFS/btrfs where they can simply read the replicated copy or recover with the RS code blocks. Then the end user doesn't even know they had a platter defect outside the relocation count.