Why not just change the water a few times a year?
Replacing the stagnant septic cesspool in a ballast tank with clean water, whether it's sea water or fresh water, seems a lot simpler--and far more effective--cure for a stinky ballast tank than poisoning it with bleach and other chemicals. A ballast tank is an enclosed anaerobic environment very similar to a waste holding tank if filled with salt water, because salt water is full of bacteria and other organisms that die, decay, break down and stink. Otoh, a swimming pool is exposed to sunlight and plenty of fresh air. A swimming pool can grow algae...which a ballast tank cannot do because algae needs light. But a ballast tank can grow all kinds of other critters--molds, fungi, bacteria, etc. and unfortunately, ballast tanks can't be vented as waste tanks can to make 'em aerobic...and not only does anaerobic activity stink, but the gasses produced by anaerobic activity can be VERY harmful to health. And while bleach and other chemicals may knock down the odor for a while, they lose their potency fairly quickly, so 90% of the time all you have in the tank is a cesspool polluted by toxic chemical waste. So...why not just change the water every few weeks? It can't be any more effort than the never-ending battle to keep it from stinking.