Goof Off's RustAid for Outdoors, mixed about 3 parts water to 1 part RustAid in a 1 gallon plastic pump sprayer will remove all the organic stains (fumic, humic and tannic acid brown stains). No need to rub, just spray on wait a few minutes and then rinse off with a hose.
After you get your hulls as white as possible, then you should seal the gelcoat with a wax (like ZEP "wet look floor polish") to keep future organic stains from attaching to your porous gelcoat. The nice thing about ZEP is you can wipe the liquid on with a rag and can put multiple coats on without the need to buff it.
About once or twice a year, I do a bottom job on my 84H16 hulls. First I strip any stains, etc. off using Outdoor Bleach and Rust Aid in a sprayer to get the hulls as clean and white as possible. I use FGCI's pre-mixed "Misty White" unwaxed gelcoat, mixing about 2 oz at a time to do the bottom job and touch up any gelcoat knicks, etc on the hulls. I can do about 4 coats of gelcoat on the bottoms of my hulls and 7 coats of ZEP all over the hulls in an eight hour period (start each new gelcoat or Zep coat every 30 minutes). The ZEP also seals the unwaxed gelcoat so it can properly cure.