if it is gel coat and NOT paint, on the non-skid surface, a pressure washer works the best.... but also a fine stainless brush and simple green works well (such as a soft grill brush, or better is a small stainless brush from a welding store). use easy off oven cleaner on the tough spots.
rust stains, any good acid will remove the rust stain within 2-3 minutes... some use oxolic acid, but i have muratic acid around all the time anyway, so that is what I use. use gloves and eye protection!
a fine stainless brush is NOT as abrasive as one might think, as long as its not running at high speed on a powertool, especially on the non skid. it works well.
and these solutions to tough cleaning problems may not be as "green" as some would like them to be, but there is a trade off between the amount of elbow grease that needs to be applied, and the flat out effectiveness of the cleaners..... I lean more towards efficiency, than otherwise