Some of these issues are solved (and others mitgated) by the v3 onion services used today, as they are now officially called instead of hidden services, but they remain not-hard-enough to deanonymize.

TLDR: if the stakes are high, do not rely on Tor onion services alone to hide the location of a service!