One thing I did for a long time that worked well was to change the loading order of programs implementing tray icons.
Google for a program called "aspy32.zip", it is freeware and you should find it easily.
Unzip the program and run it. It will give you a listing, after you click to enable all the boxes on the left, of all of your startup programs.
Check the column "Despositions". You will see that each of your startup programs is being launched from different profile areas and run keys.
See where the icons that do appear before trickery are being run from. Double-click a few of the most important icons, and scroll the "Despositions" box to move the start location of these programs to the start area that appears to work.
Make sure you do a File, Save after making your edits. This will do the registry write.
Unfortunately you will not see the results of your handiwork until you reboot.
Eventually you will find that by adding one icon/startup program to the key your icons become scrambled. You have to play with this to see whether that program is better launched first or last in the sequence, by moving its launch/startup point by changing its "Desposition" and remembering always to do a File, Save to write your changes to the registry.
A pain, I know.