I do that, by creating a second "Program Files" and "Program Files (x86)" folder on the second drive to install mostly game software. I've been experimenting with using that second disk (HDD) and folders for some large software "Suites," like Corel Draw and Cyberlink. By itself, with that software and the games, it all works fine.
There is a way to move "Program Files" etc. to different drives or relocate them on the boot disk so that everything continues to work properly. But if you have a backup program like Macrium which will fold several physical drives, any of which has several volumes, into a single image file, that covers some bases.
I'm not using the fastest drives possible as secondary disks to a 960 Pro NVMe. I don't feel I have to. The HDD I've been referring to is a Seagate Barracuda 5,400 rpm 2TB drive. The reason it doesn't matter is that I'm caching the HDD to a volume on the 960 Pro with PrimoCache.
And so you can get your 4TB HDD slug, and depending on your usage pattern, the access to it is as much as 80% the speed of the NVMe through the caching, except for the very first time you access the files on the HDD.
Now -- when I feel like spending the money on either 1TB SATA SSD or even the 2TB MX300, I can still cache the SATA SSD to the NVMe volume.
The only complication or risk I've discovered with PrimoCache: If you are updating to a major new OS build like Creators Update, you want to disable and possibly delete the caching volume. You also want to remove "ghost" drives after "unhiding" them in Device Manager. The Primo caching volume is a converted basic volume without a drive letter which Primo then converts to a non-standard format. Windows may become confused by such a volume as it enumerates the hardware and volumes during the update process. The only other problems with it are from thoughtless misconfiguration -- specifically the sort of misconfiguration that allows for "off-line writes" to a drive which is cached to any persistent target. Certainly, caching a drive with off-line writes to the SSD would emerge as a problem; caching to RAM configured to restore the previous cache after reboot for a drive with off-line writes would also be a potential problem.
You could always add another NVMe M.2 drive to your system. But you are likely to use up another PCIe slot, deprive yourself of a dual SLI or CF configuration. Those are just choices you would have to make. Or if you put one M.2 in the motherboard slot and another in a PCIe slot, you won't be able to use some of your SATA ports as well.
Decisions, decisions . . .