If you want to laugh out loud at my reply, please do so.
I don't know how much data you need to migrate: without that knowledge, what I'm about to say may be totally in appropriate.
Several years ago, malware hit our SOHO network and "migrated" to every machine in that network. It took 8 DAYS to re-build everything and disinfect every machine.
After that burn, we decided that THE BEST WAY to keep a PC virus-free is to TURN IT OFF!! (lol here is aok
Whenever we have been faced with a similar challenge, we ALWAYS start with a FULL BACKUP of all data, including of course the operating system and all files and databases. That FULL BACKUP is copied to one of our aging "backup servers" and then we turn that backup server OFF -- COMPLETELY OFF.
Because PC hardware is so cheap now, and because some data bases have become invaluable e.g. mirror images of a website, we do not hesitate to maintain cheap "white boxes" with aging CPUs that do very little except to XCOPY data from here to there.
We have even perfected a PUTT and GETT pair of Command Prompt BATCH files that do the job very well, particularly when we only need to backup a sub-folder in our website mirror.
Our consistent approach has also been to maintain a formal separation between C: system partitions, and all other partitions.
Every discrete storage device or RAID array is formatted with a primary partition exactly equal in size and contents to the Windows C: system partition.
The remainder of each such storage device is formatted with a Data partition e.g. D: or E: (in Windows parlance).
All of our key workstations host at leasat 2 identical copies of the same OS.
From experience, we know that it doesn't take too much to completely corrupt a working OS e.g. the other day, a HDD crashed and that crash ended up corrupting the Windows Registry. So, with our dual-OS setup, we simply re-booted from the backup OS and restored a drive image of the primary C: partition: piece o' cake.
As such, my first choice is your Option "A", making sure that you have a working "backup server" with redundant backups of all operating system and dedicated data partitions.
Trying to mix HDDs and SSDs sounds like too much work: the future is solid-state, and I think you should migrate now to new system with SSDs and a quality / compatible RAID controller. You can buy large HDDs for your backup server, the sole purpose of which is to archive multiple redundant copies of really important data.
Hope this helps.
p.s. I would be very interested to read more Comments from others who study your question.