1. When driving over salted or brine covered roads, pressure rinse the undercarriage as soon as practical, every time.
2. Wherever rust appears, treat it with phosphoric acid. Let that sit for no less than 4 hours, but no more than one day. Neutralize the acid with baking soda dissolved in water, and be prepared to immediately coat with a protectant once dry.
3. Protectants: Different undercarriage components require different coatings, based on the function of the component.
A. Waxed Dipped Frame: The frame flexes, (especially the open G channel frame of the 2500... more so than the fully boxed but thinner frame of the 1500) so a flexible coating performs better in the long term on the frame. GM recommends NOX RUST X-121-B, a professional grade one coat rust preventative coating in a rattle can by Daubert Chemical Company. It is compatible with the existing coating applied by GM at the factory, and is recommended by GM following frame repairs after collisions.
Note: I personally don't use popular products that are target marketed to consumers with a lot of hype, such as Por 15 or Chassis Saver, but a lot of people do, and therefore those two products in particular should at least be mentioned here.
One product that I don't recommend is 3M Rubberized Undercoating. I have found that it is not as durable in the long term, especially in areas of elevated temperatures, such as near exhaust components. I also believe it is a water based product for consumer safety and/or regulatory compliance, and that may be a contributing factor in the lack of durability that I have found with that product.
B. NON-waxed dipped Painted Steel Chassis Components: Skid Plates, Transmission Crossmembers, Axle Tubes and Housings, Torsion Bars, Upper and Lower Control Arms, Shock Tubes and Towers, etc etc. The key product I use to prevent these items from rusting is FREE, and PLENTIFUL, and yet it gets thrown away by most people. Used automatic transmission fluid. ATF is loaded with corrosion inhibitors. Ever pull the pan down from an auto tranny? Notice how clean it is inside? If you service your Automatic transmission at the recommended intervals, then the fluid is still "good" enough for those anti corrosion inhibitors to continue to do their duty in protecting other chassis components under the vehicle.
I simply soak a rag with the stuff, and start wiping down every non waxed surface under the chassis that seems in appropriate need of protection. The ATF cleans the dirt off, and unlike motor oil or grease, the ATF doesn't smell, nor does it seem to attract as much dust and dirt after application. For this to be effective, it must be reapplied regularly, so it is a routine I incorporate into my oil changes.