It's a series of trade offs, both can be made to work reasonably well.
I think the first step would be to understand what people search for. Are the variants variants going to be long-tail search targets? Or are people are only searching for the primary products? Keyword research tools can help here. If there is no long-tail variant organic search volume to target, then you're trying to fix a problem that doesn't exist in your case, so just do what's easier.
On the other hand, if there is likely to be organic traffic potential in the long tail in your category, then spend more time here.
For now I've tried to list out a few pros/cons of each approach off the top of my head:
Variant URLs - pros:
Variant URLs - cons:
Unique handles - pros:
Unique handles - cons:
There are probably better people who can consult on a better approach to these kind of scale problems. Might be worth exploring how other Shopify sites are handling similar scenarios, or even reaching out to store owners in similar situations. Personally I'm more used to smaller scale sites sub-1k products.