If you are using a good quality, waterproof eyeliner, such as Urban Decay 24/7 Glide On Eye Liner and are still having trouble with your eyeliner smearing or fading, try lining your entire outer lash line with Urban Decay Eyeshadow Primer Potion to make a base for your eyeliner. When applying the primer along my lash line, I like to use a Q-tip to apply it so that I can apply the primer very close to my lash line exactly where I am planning to apply my eyeliner, which is hard to do when using a fingertip. The primer should make your eyeliner stay put all day. You can find it at:
If the primer doesn't keep it completely budge-proof, then Benefit's She Laq or Make Up For Ever’s Eye Seal definitely will. Both products are makeup sealants, which put a protective seal over your makeup to keep it budge-proof all day. You would apply the sealant over your eyeliner. Both are excellent products, but they vary in price. The reason for this is that Eye Seal is made to use on your eye makeup only. She Laq comes with a set of brushes so you can seal, not only your eyeliner and eyeshadow, but your lipstick, eyebrows, eyelashes, etc. Below are the links so you can read more about both products:
Benefit She Laq: (not available at Sephora at this time for some reason)
MUFE Eye Seal: http://sephora.com/browse/product.jhtml?id=P169812
Hope this helps!
Have a great day!