Have you ever tried playing with her? My daughter loves to make potions and play with makeup. For a long time I was in the same boat as you there were messes every were and most of the shampoo ended up down the drain. I tried beating her (not really beating but a hard whack on the butt), time outs and grounding; nothing worked. Making her clean up her own mess really helps but it was not enough. Kids need to start taking responsibility for there actions. Even at a young age I found the best way to curb it was to play with her. If we want to make potions I take some old bottles and fill them up with water and food die (sometimes even cornstarch to thicken them). Now that she is a bit older she want to play with makeup, so I do it with her. I let her pick out and sometimes even put on my makeup as well as her own. Another thing I did is get her own shampoo, toothpaste etc... and if she ruined or used it all up before it should have run out O well. Either she had to go with out or use my stuff. And make sure using your "stuff" is no fun.
What ever way you try to fix the situation figure its going to take months, Kids don't change over night.