There's an easy way to find out for yourself how much more efficient a shower is, which is to take a shower of a typical duration in the bathtub with the plug in, and see how full the bathtub is when you're done with the shower. I suspect that, in my case (mid-40's guy) the bath tub gets about 2 inches full from a shower, while when my 12-year-old tweenie daughter showers she probably fills it to about 8 inches! If you have a low flow shower head and keep your showers pretty short, you'll use way less hot water in the shower than in the bath.
When you take a bath, the heat stays in the bathtub, and in fact you can save energy during the heating season by leaving the bathwater in the bathtub until it is room temperature; it will give its heat up to the interior space of your home instead of to the public sewer system. That is one way to cut the relative energy use of a bath versus a shower.
Another thing to consider is a thermodrain, which replaces a section of your drain stack and helps recover heat from the drain water to feed back into the hot water tank. A thermodrain consists of a copper drain pipe surrounded by a coiled copper pipe that goes around and around the main pipe in a spiral. The water draining down the pipe (from your shower, sink, toilet, etc.) tends to cling to the outside of the pipe (it just does, trust me). Meanwhile, the water intake for the hot water heater is hooked up so that it runs from the bottom of the thermodrain to the top, going around and around the walls of the drain pipe. Of course the two channels (drain and water intake) are completely separate, but the heat transfers, and can significantly cut back on your hot water expense.
Your idea about recirculating the shower water is an interesting one but one problem I can see with it is that the water coming out the shower head starts to lose heat fairly quickly as it travels through the air. That's why the bathroom gets hot when you shower - because much of the heat is leaving the hot water. That's also why, if you do the experiment of plugging the bathtub while you shower to see how much water it uses, you'll find that the water around your feet is just lukewarm, not hot like the shower water was. As far as it being a viable product, I suspect another problem would be that most people wouldn't want to have 'gray' water coming out the shower head - water that's already got waste products in it such as soap, dead skin, dirt, and so on. They're perfectly happy bathing in gray water - bath water is implicitly gray, since as soon as they start stewing in it it becomes gray (kind of like a car loses 20% of its sticker value the moment you drive it off the car lot) - but people may find the concept of recycled shower water a little gross. Sticking some kind of filter on it might address that phobia.
The other approach to consider, in terms of conserving energy, is the on/off/on shower. This is what I do when it's not freezing cold in the bathroom - meaning, when I shower between about April and October. Get the water hot, wet myself, turn the water off, then lather and shampoo, then turn the water back on and rinse. I can be in and out of the shower in about 5 minutes with the water on for only one minute. Definitely not as luxuriant as standing in a hot shower for 30 minutes and not wasting energy, but probably easier to realize.