OK, I did this piece-meal, but hope it is all coherent and makes sense.
Here are a couple options with a bunch of assumptions made, but feel free to fire back with questions. As to your question "Is there any way to have all traffic tracked in Google analytics, but clearly separated per client website?", yes, you can get all GA data tracked for each website, and you can separate each website data, but the question should be more of "how comfortable would you be with switching between properties or views to access their data and how quickly will you be accustomed to your final account structure?". Unless you have 360, there's no way you'll get all websites tracking into the same property and under different views, or even each website tracking into its own property (which are probably the two best scenarios). I present to you a couple of options which help, but again you'll need to come to grips with the fact that you'll be jumping between properties and possibly accounts.
Option 1: One account per domain/client, one property per website
Create one GA account for each domain, and then one property for each site. You probably wouldn't be concerned about rollup across both domains (assuming the sites are fairly different), so this option would work well. One GA account can then support up to 50 websites, and then you could have best practice views for each property (minimum of master, test, raw). There would be a lot of rote work in creating views and filters, but you could leverage the management APIs to help you out. Also, depending on how the sites are deployed, if they have similar structure and layout, you could also use Google Tag Manager with a single account and container for each domain, and then use a lookup table to "direct" data to the different properties.
- you have 25 views for each website, including best practice views and more if needed
- things look pretty clean (up to 50 websites) and are all within the same account
- each client has its own account
- more configuration required for each property
- would require multiple GA accounts and therefore would jump between accounts and properties
- new account required each time you get > 50 websites
Option 2: One property be domain/client, one view per website
The limiting factor for this option is, as you already know, the limit in the number of views available to you per property. Here the setup would be one property per domain, and one view per website. With one view per website, you wouldn't have capacity for best practice views, and also your data could span more than one property for a particular client. You could also have a rollup view for each property, but it wouldn't be complete if the client has more than 25 sites. Again, GTM can be used if you are tracking similar things on the sites and all data would be sent to the same property with your filters separating out the data. The GA configuration of filters would not be as extensive as Option 1.
- Can get rollup per domain, but up until you exceed the 25 views
- easier configuration of filters
- won't be able to fit in best practice views
- client data would span multiple properties (if more than 25 sites)
Bonus: Food for thought...
One thing to consider is that if you are anticipating 70+ websites, then you might want to consider getting a 360 license (likely not going to fly with your clients though!), in which case you would have the ability to request more properties and views, and you'd get more Custom Dimension and Metrics and access to BQ and so much more! At, say, $150k for the license, that would divide out to just under $3k per website, and I don't think that's unreasonable to charge to the clients (so about $75k per client .... ouch!). Anyway, food for thought.