I was a groomer for several years so I know all sorts of nifty tricks to deal with shedding. Usually, dog shampoos don't do much for shedding, but moisturisers and creme rinses do. They work to loosen the hair. While the creme rinse is soaking, get a rake (you can pick one up at petsmart or petco) and and slicker brush. Both will work on getting that undercoat out. When rinsing, get a hose with a sprayer nozzle thingy on it. One that you can adjust to spray, stream, etc. Set it to 'stream' and watch the hair drop off! It doesn't hurt the dog, and a lot of them wind up with a leg thumping.

Just remember to NEVER brush against the grain of the hair, but always in the direction the hair grows. Also, when brushing, lift the hair and brush in layers. Works better than just brushing the top coat.

If you need any other tips, let me know!