Vinegar is okay, providing you don't overdo it. Also I would not use it on bearings, especially not if they are rusted. If you soak parts in vinegar for too long it will not only remove the rust, it will also begin to eat into the metal and if left for a week or more will actually begin to weaken the metal. I use vinegar all the time to clean the insides of fuel tanks that have surface rust. Pour it in and soak overnight, then drain the next morning. Then neutralize the acidic residue with some strong bicarb mixed in water and flush out. Then flush with lots and lots of clean water from the tap, and leave in the sun for a day to completely dry out. Of course if the tank is badly pitted inside with rust, the vinegar will eat through these rust spots and leave you with hundreds of pin holes, and then your tank will leak (probably was only a matter of time before this happened anyway!).
Anyway, that's the thing with vinegar as a rust remover, it is okay to use but don't overdo it. Molasses would be the better and safer option, but is damn sticky stuff.
Another thing that works good as a rust remover is steel wool and lots of good old elbow grease. Pour some metho on a rag and keep wiping the surfaces to remove the rust. Then seal.
Whatever you use to remove the rust, the surfaces will then have to be treated with some kind of sealer afterwards, or contact with the air will make the rust re-appear. Sometimes rust comes back within a few hours of cleaning off. It always seems to be the case that the faster the method we use to remove it, the faster the rust returns. I once experimented with HCL (WARNING!!! IF YOU VALUE YOUR HEALTH AND SAFETY, DO NOT USE!) brushing it on a very rusty steel rod and following it up with a high pressure water jet. The jet of water stripped off all the rust from the rod within seconds leaving only shiny, bright metal underneath. But seconds later the rust would re-form.