It's not the hard drive or the cables. The problems only exist with Sierra, plus we check our systems with Scannerz (
http://scsc-online.com/Scannerz.html) on weekly basis (critical drives, anyway). It can check for drive, cable, and system problems and never finds anything wrong. It seems to me there's a degree of "unfriendliness" Sierra is exhibiting towards earlier OS X version.
The systems aren't simple. The primary development drive is a RAID-0 with 2 Intel SSDs in it connected directly to the system (see below) using USB-3. It's partitioned into 5 parts, one for storing development code, the others for storing OS X versions (Mountain Lion, Mavericks, El Capitan, and Sierra (release version)). Other OS X versions are tested by having one or two OS X versions stored on an SSD (depends on the size of the SSD...some have a single OS X on them, some have 2). When we want to test on, say Yosemite, we just plug the Yosemite SSD into the USB 3 port and boot from that, copy over the code we want to test, and test it. The minimum size of the SSDs is 256G, although they are of differing manufacturers (bought on a price basis) including Sandisk, Toshiba, Micronics, and Crucial.
We also use a 2009 MacBook for testing earlier stuff (Snow Leopard, Lion, and Mountain Lion), although it can run up through El Capitan as well. The nice thing about the MacBook is you can swap a new drive in/out in about 3 minutes.
The "main" system is a late 2012 iMac with 16GB or RAM. It has an internal hard drive, but I wrote a launchd file and accompanying script to eject it on startup for each platform. After using a RAID-0 with 2 fairly fast SSDs in it there's just no way I'm going back to a spinner...no way. I'm booting most OSes in 10 seconds. I wrote the ejection launchd stuff because I figured if I wasn't going to use it, why let it sit there spinning. If there's a compelling need to test on a Fusion Drive or an internal HDD for some reason, all I have to do is disable the launchd script and we can do as we need. FYI the internal HDD tested out good on Scannerz too, so that isn't the problem.
I don't expect the development release of Sierra to necessarily be in working order, after all it is beta software, but the problem isn't with it, it's with the released version of Sierra. Any of the OSes in the RAID array can see the development version of Sierra from System Preferences -> Startup Disk, but none of them see the "official" version of Sierra, which is on the RAID. The "official" version of Sierra also refuses to allow the use of the development version of Sierra to be selected as a boot drive, even though it can be done from Mavericks, Mountain Lion, and El Capitan. I even deleted the original install of the Sierra and put in a new fresh copy when 10.12.2 was formally released, but the problems persist.
The drive connected by the USB hub is a WD 2TB drive that's used for Time Machine backups of each OS X version on the RAID unit as well a periodic clone of each of the OS X installations on the RAID unit. The periodic clones are just a last safeguard and are done using Phoenix, which comes with the Scannerz package mentioned earlier. We've tried putting some of the other SSDs (like the Yosemite SSD) into the hub, and it either won't be bootable or won't show up on Sierra (official) but will on anything else. In fact as I write this the USB drive is, once again, not showing up at all. If any of these drives are plugged directly into the USB ports on the system, they'll be seen. If they're in the hub, they may or may not be in Sierra (official) but will be available and bootable on any other OS X version.
The reason this concerns me, particularly when trying to select the development version of Sierra from the non-development version is that when selecting the development version as the new target from the released version using System Preferences, System Preferences just sits there a few minutes, then reports that it can't write or update the boot caches, at which point it locks up System Preferences. I can select the development version of Sierra from Mountain Lion, Mavericks, and El Capitan without any problems. What bugs me is if it's messing up the Beta version of Sierra, how do I know it won't do the same with other partitions? If I told my boss I was using Sierra and it wiped out all the boot stuff or managed to toast a partition, he'd kill me. Granted we have backups, but restoring all would be at least a days work for all this stuff.
The Sierra installations (both) are just basic, aside from Xcode. We don't do iOS development so it's not as if there's a simulator or a bunch of iPhones/iPads connected. Aside from Xcode, it's pretty much a base install.
Xcode versions on the systems can run from Xcode 5 (not used at all) on Mountain Lion (now really used for testing only anyway) Xcode 6 on Mavericks, and Xcode 7 on El Capitan. Xcode 8 has been installed on both the "official" release of Sierra and the beta (developers) version, but I've never tried it yet because of these problems. I should add our products target Snow Leopard through Sierra.
I should also add that the RAID unit was put into use recently. We used to have an SSD with Mountain Lion and Mavericks on it, then another SSD with El Capitan and the release version of Sierra on it, and the problems were happening with that too (as long as Sierra was connected). We combined all into the RAID unit because it was faster plus it was only using one USB 3 port.
So there's my story. Right now we're sticking pretty much with the El Capitan and Mavericks for development. Only the release version of Sierra is causing the problems.