My only concern would be how bots are finding or manipulating the URLs to find the not available URLs. To me, from an SEO perspective this is a crawling issue and potentially has an impact in performance and perceived website quality.
Had this issue been solved then we would not be having to take these considerations. If applicable, consider trying to fix the way bots are instructed to crawl your website and the way you are fetching the content from the database to avoid generating automated content or blogs without content.
After checking your code to understand how a bot is able to request such URLs, Try adding something like the following Allow rules before any Disallow to your robots.txt file:
In the development stage of any website I always recommend people to retrieve some “coming soon” content, set up Google search console and even analytics, before publishing a new blog/site. This is to allow crawling and indexing the new website which is good for SEO purposes.
If for some reason you can not resolve the crawling issue, I would suggest doing nothing of the above solutions. By taking the first choice, you will potentially generate an almost infinite number of 404 errors pages and this, from the SEO perspective it is a sign of poor maintenance, bad UX and quality. 302 might be a good alternative but it will consume a lot of resources from you and from the bots’ servers (we don’t want them to get mad at us, remember Skynet). Since this is probably an auto generated content/URL I will suggest implementing noindex, nofollow meta tag approach and retrieving http 200 status response code. You can also add noindex, nofollow to the links pointing to the blogs. Well, you might say, “wait a minute, 200 ok header responses are still consuming resources”, true, but believe 3xx responses are more expensive.