Things that helped when DS was 4 (he is 5 now, so not that long ago) were
1. Choices - 'do you want to get dressed yourself or do you want help?' - I know he can get dressed himself and I am not worried that he will need me to do this when he goes to college - and honestly it is faster for me to dress him than for him to dress himself so - on days when he wants help (most days) we do it together. Shoes too. I don't find this one worth fighting about.
When he picks something that is not a choice, we simply state - that is not a choice today. Today we have cereal or toast. If you want breakfast, pick one, please. If he picks no breakfast, I am really ok with this. He will not starve before mid morning snack at preschool.
2. Time outs. I never did them, so other than not doing them I don't have a good suggestion. They made no sense to me - child gets frustrated about something so we make them sit and stew on a chair - I would get more frustrated too.
3. Refusing to eat his favorite foods. Well, natural consequences work here. If a child doesn't eat, he will get hungry and then he will eat. I would stop fighting about it. Make him a plate at meals - same food you and DH are eating. If he eats it - fine (we never praised DS for eating), if not, clear the plates at the end of the meal. By the time next mealtime or snack time rolls around, he will likely be ready to eat.
4. Saying no. We try (and it's hard and I do forget, but that's what the do over is for) to avoid yes and no questions/situations unless 'no' is an answer that is acceptable to us. I also try to be physically down at his level when talking to him. And it helps a lot to rephrase things to make them fun. So - instead of 'are you ready to brush your teeth?' it is 'DS, it's tooth brushing time, I bet I can get to the bathroom first, if I get there first, I get to pick the toothbrush for today' DS is 5 and this still works (or course you have to let him win any race).
Rather than ' can you please take your feet of the couch?' it is 'DS, feet go on the floor, take them off the couch please' which is immediately followed by the physical removal of his feet from the couch if he does not do it himself. Done in a matter of fact, not punitive way.