What I found best that works very well with young child in particular is giving them a timeout per misbehavior. You need to set up a child size chair in a corner of a room where you could easily observe your child. This chair needs to remain in the corner at all times as this visual will present an incentive for your child to behave. You need to establish and discuss with your child the timeout rules such as no talking during the timeout. The timeout should be in duration of your child's age. So, if your child is 5 years old, the timeout should last 5 minutes. If your child breaks the timeout rules after the timeout began, do not restart the timeout as this will cause learned helplessness to develop. Rather, stop the time and start it once your child complies with the rules. After the timeout ends, have your child tell you why see needed a timeout. This technique allows her to take responsibility for her behavior. Finally, tell your child that you love him/her, it was their behavior that you didn't appreciate.
Do not jump from one discipline to another as typically this is how child manipulate their parents. Just use the timeout routine and you will eventually see behavior change. Don't expect the behavior change right away. It might take awhile. The key here is your consistency. If you are inconsistent or feel that nothing works, your child win the battle.
Never expect discipline to change behavior. Your child has a free will to behave as they want. Discipline merely creates an incentive for behavior change. Many parents who jump from one discipline to another have the belief that discipline changes behavior, but it does not.
If your child become physically combative during a timeout, it might be necessary to implement a baskethold restraint to protect you and them from injury.
When your child eventually gets the idea that these timeouts are keeping him/her from engaging in activities that he/she enjoy, the misbehavior WILL dissipate. http://www.SuddenCompliance.com