I'm going with ruberized bed liner. Comes in a rattle can for a little over $7 each. I got 15 to start with and see how far that gets me. I haven't gotten it on yet, but I've seen cars with it before, and the owners acted like it was the best invention since the car itself.
Some would say the best undercoat is a couple of coats of high quality paint. In time if those other coatings develop pin holes or cracks and moisture gets under them, it can lead to corrosion that is unnoticed until it is severe. Then try to get it off. I'm just sayin.....
Prep it good if youre using the aerosol spray bedliner. Ive got an autobody background and I used that crap on a trailer with what Id consider a well prepped surface and it peeled off in sheets. Im not 100% sure anymore but I think it was duplicolor brand. SPI sells a nice commercial grade non aerosol spray on bedliner, need the right spray gun but its not costly.
As mentioned before, I would steer clear of those rubber undercoatings. You won't know there is a problem until it is really bad. Also the removal of it once you realize your mistake is a mess. Good luck. I would go with POR for areas with rust and just a black paint.