Don't blanket redirect all missing pages to the home page.
It's not a blackhat technique, it's just a great way to annoy bots as they have to keep following redirects and then work out if it's a soft 404 or not. Wasting their time.
Serve 404 pages when the page does not exist. And make that 404 page helpful. If it's an old page and there is a relevant page to send people to, then 301 redirect to it.