Yes, that is the prescribed way to do it. You can get fancier with modules like the Front Page module, which allows you to set different front pages for different roles.
Yes, but Rob Feature and I discovered a small glitch with this, namely that /node still exists. If people know you're running a Drupal site, they can look at that, and it can be quite messy. I whipped up a custom module that simply overrides the default function of /node with a blank page. Here's the tutorial I wrote about it.
We actually have an idea for a new front page module in the works, but I've been too busy with Free Mission Websites and other projects to actually sit down and start writing it.
Micah
Micah, looks interesting... I'm going to need to try that out. I was thinking maybe another option might be to hide the node using CSS but like Rob's method, it still loads the node to hide it... performance.
What about simply using your original method of omitting $content, but doing it on the front-page.php.tpl file?
Since I have a home page full of blocks and views, I redirected the page to a different page rather than /node. This gets rid of the default "welcome" text as well. I'm wondering if this is a common practice for ridding the welcome text.