Most veterinary eye specialists believe the actual cause of tear staining is excess tearing. When the face hair is wet from excess tearing it is the breeding ground for bacteria and yeast. One of the most common yeast infections is Ptyrosporin or Red Yeast which causes a deep reddish-brown stain. Low grade bacterial infections in the tear ducts are also common and may cause excess tearing and staining.
From what I've read, most of the OTC products are a waste of money and don't work. I've heard that wiping stains CAREFULLY using hydrogen peroxide on a cotton ball is pretty effective, but please be careful. This needs to be repeated for several days, then as needed. But I don't know, this sounds pretty risky if your dog won't sit entirely still for you.
You can also try to avoid foods, treats and bone that contain dyes, and possibly water with a high mineral content.