The corrosion is a result of electrolytic reactions between dissimilar metals. To prevent this you must break the electical path between the two materials therefore insulating washers or gaskets should be used. The dissimilar materials must be chosen to be as close as possible in the electrochemical series to aviod a galvanic reaction.
Also consider the material that the fastners are made from. Stainless bolts are one of the worst for causing corrosion of aluminium. As matey has found out on his bikes. Vincent motorcycles had this sussed as far back as the 1940's when they used 'stabright' mudguards on their famous 1000cc v-twin, the 'Black Shadow' machines. These were stainless steel and fully insulated from the frame by a complex arrangement of insulating washers and sleeves.
In real terms, the best most of can do is lather the bolts in grease and make sure there is an insulating washer in place at both sides of the fastner. Good tip is to make any holes in aluminium oversize so they don't contact the bolt shaft holding the two materials together. Aviod any electrical paths between the steel and aluminium and things should be reasonably ok.
PS- electrolytic reaction needs an electrolyte . . . so do all you can to keep moisture out of the joint
