I'm wondering how other people feel about forward symlinks: are they safe? Good practice? Depends? [Edit] -- I didn't define forward symlinks as I was too close to the problem space to see that term might not be well understood.
With the mostly failed attempt to merge root and /usr (I don't know of any distro (except cygwin if you count that as a distro) that has gotten rid of two separate directories for bin, lib and lib64), the distro I mostly use is OpenSUSE. Their practice moving forward to implement the merge has been to install the binaries in /usr. Since so many progs have hard coded paths for many programs (/bin/ comes to mind as probably the most common), the install package puts a symlink from /bin/prog -> /usr/bin/prog. That alone is not a forward link (though the term could be defined to mean from an upper level directory to a director at a lower level tree, but that's obviously a non-issue in many environments.
In environments concerned w/security and reliability, different trees are placed on different devices to 1) optimize backup & restore time and backup space. 2) to contain problems that wipe or corrupt a partition & 3) to disallow some security attacks that might allow hardlinked files, among other mechanisms, to be used in an attack. Related to reason 1, some directories and descendents get many frequent small changes (/var). Some are changed infrequently (/etc, /bin, /sbin). Some may get daily changes (/home). Grouping similarly used directories on 1 partition may allow less frequent backup of infrequently changed partitions, while frequently changed directories might be candidates for placing on a ram-disk or SSD.
However, reasons for different partitions are not relevant to the practice of forward linking being safe or a "best practice" (or not). To be more explicit -- in the case of putting symlinks in /bin, /sbin and /lib64 pointing to directories under /usr/{{s,}bin,lib64}, if "/usr" is a separate partition, then I assert the links in /{{s,}bin,lib64/ are "unsafe" and actually poor administrative practice, since no matter how reliable your disks are that hold /usr, if for some reason they cannot be mounted -- then your binary and library links in the root dirs /{bin,sbin,lib64} are worthless and will prevent the system from booting.
I've personally experienced three cases - the binary for 'mount' being on /usr/bin/mount with a symlink in /bin/mount, with newer mount progs that have been restructured into several libraries, and symlinks for libraries in /lib64 pointed to a yet-to-be-mounted /usr/lib64, and the most recent failure mode: placing library version numbers inside the binaries and libraries that prevent a program loading w/the wrong numbered lib version.
More often than not, such a paring will work. The main problem is you don't know they've embedded version numbers until the paired directory isn't mounted. During normal operations, files on the root can be dynamically linked with files in /usr/lib64. If /usr doesn't mount, it may try to link with the same named-library located in /lib64 -- and then fail. That last case is a side effect of trying to undo symlinks in the root partition to /usr by copying the same-named libs in /usr/lib64 to /lib64, which. Unfortunately when updating with a new version of the same package, the new version doesn't get copied to the root dir. If the time/date stamp on the on the /usr/lib64 copy is older than the one in /lib64, there's no trivial way to catch that.
The linker util 'ldd' shows required libs that have filename based-versions but doesn't immediately know about the embedded versions. All this extra work caused by placing needed resources needed to mount and boot other file systems on the file systems yet to be mounted.
I strongly think that a reason no one has pointed this out as bad practice is either no one believing that someone would implement something so failure prone, or simply believing the newly created reason that it isn't a "bug" -- that separate partitions (as originally setup by earlier versions of the SuSE installer) are no longer supported, just as fast booting directly from the hard disk is no longer supported (even though recommended by systemd devs to speed up boot times).
Unfortunately, the new desktop devs disregard previous administrative practice and at the same time don't do the safer merge of /usr/bin files to /bin, with some giving the reason that there might not be enough room on root!
I'm unable to get any reasons for not merging them like cygwin has done (they simply mount /bin @ /usr/bin -- no symlinks involved). Instead I'm told to stop arguing and just accept it, which seems much like the somewhat sadistic advice to to "just accept" other problematic behaviors/events.
Previous end sentence: "Am I being overly conservative or are forward link now considered to be in the realm of 'good practice' for critical files??"
Given the new ways to fail that arise, I no longer consider the possibility of me being overly conservative in regards to this issue. I can't see a way it can be justified as administrative "best practice".