After the first year of driving on brine-covered roads and seeing the beginnings of rust, I brushed and wiped down the bottom of the car with a degreaser, painted some rusty areas with Rust Bullet, and then put on an undercoat of Waxoyl hardwax. It's not perfect, but the Waxoyl is flexible, tenacious, somewhat self-healing and easy to patch. I opted for it instead of spray-on bedliner products because I'd read that it is extremely difficult to remove along with horror stories of the bedliner trapping water against the metal.
Waxy/oil undercoating stuff is apparently still factory spec for parts of modern cars. There was a Subaru recall a couple years ago to check front control arms for rust. The Subaru dealership told us that, if replacement was not needed, they were instructed to spray on a wax/oil product.