I wish I had been a bit firmer with DD1 at that age. I hadn't a clue how to do it, though. She laughed in my face, too and I was overwhelmed.
Now I've had four DCs go through that age, I would say: she won't understand telling off. What she will understand is "no" and also you sticking to your guns.
Decide what is important and stick to it. If it were me, I would decide that it's important that she learns not to chuck food on the floor. So when she does it the first time, tell her "no, no throwing food, DD". Then if she does it again, end the meal. That way, she can't do it again.
No point getting cross with her. Be as patient and as firm as you can.
But toys out of the bath, I would decide that's not worth the battle. When mine threw the toys out, I would leave them out because I hated the "throwing them out, get them back, throw them out again" routine. Once they'd chucked them all, they'd lost them all and that helped me to stay sane! Have an old towel to mop up the spills. Put less water in her bath for a while, so she can make less mess. Or remove the scoopy toys so she can't tip water out.
Sometimes, I think it's fine to use your bigger strength. So, I would strap her into her highchair so she has no choice, lift her into the bath and make sure she's safe in the water if she's flailing arms and legs around in the water.
Nappy change is a difficult one - have a special thing she can only play with at those times. If that doesn't work, give her pull-up pants instead. I did that. If she's wanting a bit more independence, she will love feeling like a big girl with those. I still had to insist my DC lay down for pooey changes, but at least that reduces the battles!