(1) there's always a schema, it's either explicit or implicit. I find explicit to be less troublesome along the road. Sort of like static type checking--values have types, do you want to handle it at compile (sooner) or runtime (later)
(2) can be provided by NewSQL databases, e.g. CockroachDB but you will be paying upfront in latencies. Can't get away with doing N+1 queries so code has to be cleaner sooner.
For new projects, if I'm picking NoSQL at all, I'm more likely to lean Elasticsearch, but it definitely takes longer to set up and has a much higher learning curve. And as always, it's going to heavily depend on the data and its access patterns. My default continues to be RDBMS unless there's a good reason not to, even though at this point, I actually have more experience managing MongoDB and Elasticsearch clusters.
But yeah for blobs I’d just use the file system or something like s3
Not noSQL but a nice serverless is fauna.com