This has given me too much to think about while I wait for the PC! 500GB 980 used as a system drive sounds good, but ideally I'd like to maximize the storage and go 1TB, but that's unavailable and i'd have to go through the trouble of cloning my system from my current 970 onto the new drive (I know, I know, but i'm impatient after all this waiting!). If only there was a 3rd m.2 slot, I could just buy the 980 later if I feel like it!
I rarely recommend a 1TB drive as a primary..... it leads to hoarding stuff on the drive. You could of course partition it, but that would kind of defeat the purpose of having a fast primary for the OS (As you would create a potential queue).
If you fill the 1TB drive (or even half fill it to maintain performance), any proper re-formats are going to require quite a time of backing up and restoring. Budget is not the limiting factor in my recommendation of 500GB. In my mind, 500GB gives 250GB of proper fast access storage (blistering) which allows for the OS (ITRO 50GB once padded), programs (20-50+), a game or 2(100GB) and some relevant document storage. Anything past this and it tends to be storing for the sake of storing and it'll be a pain if anything goes wrong with the drive or if you need to format for any reason.
With the secondary drive, I always say fill your boots. You cannot plan for the failure of a drive, you can only try and lessen it's impact by backing up properly. I have no issues at all filling my entire secondary M2 drive. The small performance hit is fine as the game load times don't make that much of an impact anyway. If using a cache/scratch drive I would try to have a stand-alone drive for this if possible. 100-250GB for this purpose is absolutely fine. Again, I would like M2 but you can't have it all so a reasonably reliable SATA SSD would do fine here too.