@ells, my experience is that if you can limit what you are bringing into your dataset, it’s going to be easier to manage.
I have created multiple separate dataflows, each with a minimum of 5 tables. Yes, this means I had to juggle scheduling the refresh on all of them against my datasets, however I only had to figure this out once so I felt it was worth the trouble.
This has allowed me to have a couple of dataflows that don’t refresh regularly, because the tables in those flows do not need a daily refresh. It’s also kept my dataflows small, which has lowered the risk of refresh failure (something that was happening when I first tried to run everything in a single dataflow)
Now, I also have to say that I am only refreshing my data once overnight, so I can space out the dataflow refreshes easily with plenty of time between the various dataflows.