Natural consequences - you have to be prepared for your DS to look odd or to see your child standing at the counter to eat instead of joining the family at the kitchen table. It's no more humiliating than sending a child to school in normal clothes when it's supposed to be some sort of dress up day. If he comes home upset that others poked fun at him you can ask him if he plans to dress for school tomorrow or leave the house in his Spiderman pajamas again. Remind him that it is up to him to choose and suggest that he might have a nicer day in school or more fun in the park, etc., if he had appropriate clothes. But don't be afraid of letting your child experience hurt feelings or embarrassment or angry feelings towards you. Your children love you underneath it all, even when you are mad with them and you let them know that. Don't be afraid to lay down the law. It is really important that they know you are not afraid of their feelings.
Don't be fussy about small details. There is more than one way to skin a cat - let DS1 decide what way he wants to follow directions. Your detailed approval is a natural consequence of him making solid, co-operative decisions. You can commend the speed with which he got dressed and enabled you all to be on time instead of pointing out that his t-shirt is back to front or he has buttoned up Mondays and Tuesdays, or forgotten to zip his fly.. Find something to compliment when a DS complies with a direction. He might not have done it your way but he has done it and that's what matters.
If you're in a non-school uniform school the method of letting him choose his clothes the night before and laying them out might be possible - that way he has already bought the concept of dressing and he feels some control over the activity because he chose the clothes. He could choose where to lay them all out too, and choose where to have his footwear ready. With a uniform, all he could really choose is where to have it all ready.
I agree with Emmaroos' and BlueLeopard's comment about the importance of leaving supermarkets, swimming pools, parks, playgrounds - everywhere, in fact, when someone bolts or tantrums. I don't agree with a bribe though, for reasons in my other post. Your praise, maybe a high five and hugs afterwards are the rewards. This teaches them to work for your direct approval and to try to avoid your disapproval.
It is really helpful for many children to have a little 'pep talk' in the car when you arrive at your destination, after you park and before you get out. You describe the behaviour you want to see: be specific about quiet indoor voices and what being helpful looks like. You tell them it is important that you are able to shop without interruptions so that the family buys everything you all need for meals and supplies for the coming week. You warn that specific transgressions will result in leaving. You can include bolting, refusal to hold the shopping cart, opening the reins and climbing out of the baby seat, whining about items they want you to buy that are not on the list, tantrums at the checkout. Ask if you have a deal about the sort of behaviour you expect. Shake hands or do some high fives. Then if any rule breaking happens, you leave. Abandon your cart. Go home. This takes a bit of planning but the message is important so it's worth it.
Do the same for the park/library/pool - describe taking turns, staying in the area, handling books carefully, walking, and list behaviour that will result in immediately leaving: any rough behaviour towards other children, bolting, shouting and rudeness. Don't be afraid of upsetting the child and don't take the 'worst mom in the world and I hate you' business seriously.
Never give in to tantrums or whining even if the child is right, or if what they want seems reasonable/is affordable/is doable. Just stand on principle and do not give in. Don't apologise for not giving in. Tell them you are doing this and also that you are open to civil requests and discussion.
If someone is rude or shouty or bad tempered when asking you a question or requesting something, never answer the question or address the topic they are shouting about. State that you will not have discussions with people who are being rude/loud/mean/bad tempered. Keep on repeating that. Ask them if they want to take a break and return when they are able to be civil.
Nobody interrupts you when you are on the phone. The rule I had was that I only took interruptions if the house was on fire or there was a disaster involving poop or bleeding.
(Starryillusion, your reference to suncream reminds me we still call it sunscream here thanks to DD3. We also have a family joke involving the shouting of 'NO HAT!!!')