IMO, the best bet from a DIY standpoint is the following:
1. Sand/grind away any rusted metal.
2. Treat remaining rust/pits with muriatic acid (or similar rust removing agent)
3. Fill the area with body fill as required. Larger holes will require fibreglass (or Steel'y
).
4. Sand to smooth the surface.
5. Prime and paint.
6. If you vehicle isn't already a rust bucket, have it treated with a rust inhibitor the likes of Krown etc.