Im not sure there is a 'this can fix the problem and/or stop it' answer. In fact, a lot of times, thats not my goal anyhow and if I find that is my goal I need to step back and chill and take another look - breathe! hehe
I guess my only one goal is to help my son grow in a healthy way (this includes emotional health). He is 3.5 and we get a lot of 'I don't want to' and frequently changing his mind/contraditing his own self. I have to say - I have no idea why this is! I am often confused adn find myself asking myself 'why? - Is it for control? This kid has more control over his own life than any other 3.5 year old I know...so whats the deal?' lol... So no answers there. But sticking with my goal, this is what I do (kinda what you do really). I validate his feelings. I let him know I am listening and there for him. I take a step back and ask myself it is something he 'has' to do - usually its not. If thats the case, then I try and work
with him for a 'solution' that can meet both our needs (sometimes my need is just to get out of the house - I don't care what we do, I just need out! hehe). I try to give ourselves
plenty of time as well - I know DS all too well! (we often get the 'I want to...' and then the 'I dont want to'...and then 10 mintues later crying because we didn't because he said he didn't want to but now he really does and now its too late!... so I try and give plenty of time so its not always 'too late') <<<<if that makes any sense! hehe If at any time he does get upset (its bound to happen - hes super sensitive as it is! lol), then I need to remember not to take it personally or get upset (even though I do find it rather annoying at the best of times!) so that I can be there and connected with my DS, continue to listen to him and validate his feelings and try and empower him (help him move on, help him learn how to come up with his own solutions, hes not the victim, I don't need to get out my violin, etc

lol) - It 'working' (if you want to use that term)... He is starting to say things like 'How about I do this for a little bit first (like play trains) and then we can go to the playground (we don't go there are its too scary for him lol, but just an example of where one might go with a small child!) and I think 'yeah okay - good solution! - im happy with that!'.