1. Follow these (general) rules. If your skin is...
Avoid deep browns (and certainly black); pale skin is prone to ruddiness and dark hair will create a bull's-eye around red areas.
Try a light auburn or rich honey blonde. Don't start overhighlighting, though; hair that's too blonde will wash you out.
Avoid red or copper hues, which can make your skin look sallow or orange.
Try a deep mahogany base that will warm up your skin tone; protect the color with a UV-shielding styling product (like Kérastase Crème UV Défense Active). Consider a few golden highlights for extra brightness.
Avoid going more than a couple of shades lighter than your natural color; the results could look brassy and make your skin tone seem flat.
Try weaving caramel or cinnamon highlights around your face and through the ends, where the sun would hit.
4. A Note on Gray
White hair, as long as it's shiny, will look stunning with any skin tone. Use a violet-tinged shampoo once a week (try Pantene Silver Expressions), avoid styling products with alcohol (they can dull silver), and smooth a silicone serum (like Paul Mitchell Smoothing Gloss Drops) over dry hair for extra sheen.