I have been using a great enzyme-based drain cleaner for years called DrainCare.
You just run warm water in the drain, pour in the DrainCare per directions, let it eat overnight and then flush it down with hot water. I always start the flushing process with a kettle of boiling water. Leaves the pipes clean as a whistle.
It eats out all organic gunk, grease, hair, soap scum, etc., and easily opens up hard to snake drains like bathtubs. It won't harm your fixtures or pipes at all.
Any time that any drain gets sluggish, I hit it with DrainCare and it opens right up. Sometimes, if someone has a badly clogged drain, they may have to use it more than once, but it always works.
It is much safer than Drano and other dangerous caustic chemicals, which I have not used in years after I discovered DrainCare (available at big box stores, etc.)
Good Luck!
Mike