I had a book 'Explosive Child' sent me from another mnetter, and its a godsend, its all about putting certain behaviours in say Basket A - for dangerous or violent behaviour, Basket B - almost everything else, Basket C - for things that can be ignored for the moment like, brushing teeth, picking toys up, keeping bedroom tidy.
I know this is for older children, but I have seen a significant improvement on the twins. The idea is, everything in Basket A is worth inducing a meltdown over, because they are definitely unnacceptable.
Things in Basket B you teach a child decision making, like lets put your coat on for playschool, (child grumbles) then you keep calm and explain what will happen if they don't get ready, but leaving open ended statements for them to have to think for themselves how to make a conclusion of the consequences. But you have to start this procedure before the meltdown.
Then in Basket C ignore everything, its only important to you, its not worth having a meltdown over. You can always come back to those situations when the child gets used to thinking of solutions to their niggles!
Sorry if that seems gobbledigook, but i hope you get the gist of it!
We did it last week when DS wouldn't get dressed, if he wanted to play outside without clothes on, would he be cold and uncomfatable? Makes them use their own decision making giving them the capabilities to compromise and organise life skills better!
For my older child, its a case of compromising, say he wants to go swimming at 2pm and I want 3pm if he goes at 2pm then I will be dissapointed if we go at 3pm he will be dissapointed so how can we work it out so we are both happy, then hopefully he would think and reply 2.30pm or 2 this week and 3 next week!
Well its working for me! a little day by day!