Yeah, that's not unusual solution, there are people who create hundreds of spaces for that purpose (manually or using the API). But it's really hard to say how you can optimize it without full understanding of your data/security model, like which user groups should get access to which indices, which permissions should they get, what the difference between customer groups, etc. I'd encourage you to play with different options and see how well they fit.
Having said that we're actively investigating the ways we can improve that experience and make it easier to model different use cases with spaces. Feel free to leave your feedback on any of the Space-related enhancements we're discussing right now.
Yes, definitely, you can add multiple "Space privileges" to a single role. See screenshots from the role management page (7.2.0):
Best,
Oleg

