Dudley lost his when I took him grain-free, but he has environmental allergies -- leaves, especially -- so they were back, but I'm hoping they will go away soon!
Sheldon does't have them I don't necessarily prevent them he just doesn't have watery eyes. If I notice his eyes starting to water I clean his face and give him benadryl.
Castor used to have very rusty-coloured tears (but no visible stains as his face is quite dark) but the tears cleared up when we changed his food (from chicken to fish), so we believe it was food-related. On the other hand, we made the food change during autumn, so if it was not food-related but seasonal allergies, we won't know until next year.