I may be wrong here since that dynamic was not present in my home when I was raised or raising my own son, now a teenager. Forgive me if I don't really get it, but here goes.
My impression looking at this from the outside, is that the kids are getting a payback when they do that. They are getting a reaction out of mom, attention, and it's a cycle, perhaps an addictive cycle.
Here is another idea, and it might take nerve to implement it.
Consider not replacing the spent shampoo. When it gets all dumped out, say nothing and be cheerful. The next night, say nothing and if she doesn't complain, say nothing. Hide your own shampoo very, very well, and make sure anything she could substitute such as dish soap, but especially dangerous products, are well out of reach of both your son and daughter. You could even lock them up in a plastic trunk with a padlock and explain that you need to ration your own items so you will still have them to use because clean hair is important to you. Say nothing about her hair. Eventually, she will complain about her hair not being clean, even if it's after a teacher says something. Be ready to tell a teacher that you are allowing her to learn to use the proper amount of shampoo and are temporarily not replacing it when she dumps it all out. Ask her to bear with you and promise her that you are very much on top of the situation and rinsing her hair nightly but need to break your daughter's shampoo dumping habit. That should hold them, but if it doesn't you can offer your daughter a handful of baking soda and ask her if she needs your help using it. Allow her to use baking soda or body soap to wash her hair for a few weeks or until she asks what she can do to get more shampoo. You could offer to use some of her allowance money or savings to replace the shampoo she used up prematurely. Remain calm at all times. She will make a choice if she gets sick enough of dirty hair or the difficulty of using alternate products. It's a matter of allowing her to suffer the natural consequences of her own actions. Previously, she had no consequences other than your yelling which did nothing to change her behavior and in fact may have encouraged it unintentionally.
Another tactic could be to simply tell her that you cannot afford to replace the shampoo she wasted but that you will share a little of yours but only once a week. Then, offer to come in and shampoo her hair for her once a week or to squeeze a small amount into her hand or into a small plastic container for her. Tell her when it would have been time to buy her more shampoo and then tell her she will have to pay you back in shampoo for the shampoo you are sharing with her. Be calm, and just follow through. Don't act mad because it's not about you. It's about her use of her available resources.
Perhaps the anger you felt before was due to frustration at feeling you had no control over her actions. But, we never really control the actions of others. We simply control our own actions. And, if you stop helping her act out by replacing her wasted shampoo, your ability to control your own actions will eventually encourage her to control her actions too so that she doesn't suffer the natural consequences.
Believe me, though I didn't live with the yelling or anger in my home, I did walk the walk I am recommending. My son had a habit of reading books till all hours. I would go through a lot to get him put and ready for school long after he was capable of doing it himself. I simply told him that if he was not fully ready, fed and in the car by 7 a.m., I would not give him a ride to school, and his school was too far to walk to and had no bus service available. I won't give you details of what he did to try to force me to take him the first day I implemented him, but let's just say that I won, and he had to stay home from school. For about the next year, he was always, always ready on time. Later, I had more trouble with him because I had collected a large stash of college textbooks and unread books were impossible for him to resist. I suppose I could have hidden them in the attic or in the unused trash compactor, but I just couldn't do it. I admit it. I went through a lot to get him up and to school that next year. There was no yelling, but there was loud Jimi Hendrix played at 6:30 a.m., breakfast lattes brought to him in bed so he would have to go to the bathroom, full spectrum lights installed to make it hard for him to sleep when they were turned on, his shower water turned on so the hot water would run out if he didn't get in there, and breakfast made to smell good and walked to the car so he would follow. I suppose I could have hidden the books, but I had secret pleasure from the way he pored over those books and from the game we had developed where one of us would win and it was always me. I truly delighted in getting that six-foot tall very groggy teenager out of bed, showered, dressed, well fed and to school with no yelling, violence, threats or hard feelings. If it wasn't fun and a running joke between us, the books would have vanished, and my explanation would be that I simply don't have enough energy to get him to do what he can do well enough on his own and also take care of my legitimate responsibilities. Period. No drama. No long drawn out struggle. And, he truly would have gone with that. He would know full well from experience that he'd never see those books again if he didn't shape up--not as punishment but as a practical measure to allow us to do what we needed to do.
Parenting active, creative, spirited children with sanity requires one to perpetually look for ways to be smarter and one step ahead of the kids. It is truly an adventure, and I hope that whatever your solution, you can find a way to enjoy it more and give your kids less control over you and more control over themselves. I say that with love, and forgive me if I am wrong. We are all in this together.