That can be a tough one! I have a four year old dog who will rock the BN class...when I can get a consistent sit for exam out of him! But then, I have an 18 month old Lab who has not once got up from the sit for exam and is solid with the stand for exam and it's not even something we've really focused on. Funny how they are all so different.
I haven't worked with the older dog on this exercise much recently, but here is what I've been told and gone through in training.
Having the general public to practice with may not be your best bet. Do you take him to a class? Having the trainer and other experienced class members do it is best. It's supposed to be a no eye-contact, confident, really no big deal touch the head as you're walking by thing. The general public will look at the dog, be tentative, and generally mess things up.
You can proof him with the general public at some point, but not recommended for training. Also, when proofing a dog like this for a show, make sure you have a strange man be the "judge". Also, have the man wear a tie. While they will often hold the tie or scarf when bending to touch the dog, sometimes there's a flap of fabric. Have the "judge" also hold a clipboard in one hand. The reason I suggest a strange man is because most classes are all women and that is who you'll mostly practice with. However, I would say that close to half of the judges are men. And they always wear ties.
Some people also do this exercise where you put pressure on the leash to teach your dog that stay is an active exercise. I don't know what it's called and I can't explain it as it is new to me. I think it would help in this scenario. Maybe your trainer or someone on the board could point you in the right direction...
Besides taking him in public, what have you tried so far?