My biggest advice may sound simple, but it's hard to do all the time....DO WHAT YOU SAY.
If you say "time to brush your teeth", you'd better be prepared to take a screaming, kicking 2 year old into the bathroom and brush their teeth against their will.
My girlfriend said "no more cookies" to her 4-year old. He took another one and walked away. She sat their and didn't do anything. This boy was one of the most ill-behaved kids I know, and I know why.
If you are not willing to enforce what you say, don't say anything. Hey, if you say it's OK to have another cookie, go right ahead. But don't say "no" and not be ready to get up and take it away.
It's exhausting to be a good parent (much easier to be a lazy one). I cringe when I hear parents say "we are going to leave this store/party/pool right now". You know they will not follow through with those threats.
Do not threaten something you will not do, and always-always enforce everything you say, even the little things. I am very careful what I say to my kids. When I do threaten something, they know I mean it and straighten up.
Good luck and strength for all the times you'll be getting up to attend to your son.