How can I identify what is preventing my HDDs from suspending?

Solution 1:

Apart monitoring the filesystem with obvious tools such as fuser and lsof, the only tool which actually reports every activity is auditd (installing then issuing sudo auditctl -w /dev/sda -p rwa and then searching the logs with sudo ausearch -f /dev/sda).

With this powerful tool, one is able to clearly identify what is interacting with the given device (/dev/sda in this example) and then take appropriate actions.

In my case it's the combination of having a couple of WD disks which apparently don't play nice with with standby command and are woken up by the udisks2/udisksd daemon invoking the smart report command every 10 minutes (it shouldn't wake up the disk - or better preventing from standby-ing but it does with those WD here and here for more details).