You can't actually stop a tantrum. If that is what she chooses to do, that's what she's going to do.
Given that you can't stop it, then....
At home, tell her calmly that you understand she is upset, but what she's doing isn't all right, and if she is going to throw a fit she needs to be in her room. Then put her there. If necessary, tell her again put her there again. Don't respond to ANYTHING she says if she's screaming. Don't answer her questions, nothing. Don't say anything except "mommy can't hear you when you talk to me like that".
In public - I know it can be hard for a parent to admit - but I think the real problem with a tantrum (or at least, a large part of it) is that WE, the parent, are embarrassed by it. It draws unwanted attention. I know what *I* think when I see/hear someone else's kid throwing a fit, and I don't want people to think that about me or my child. You can perhaps find some reassurance knowing that any parent witnessing the fit understands completely and isn't judging you. At most, they are quietly praying "Thank you God that it isn't *my* kid this time."
Again, you tell her that what she's doing isn't all right. Don't respond to questions with anything other than that you can't hear her when she screams at you. Of, if you prefer, that you aren't going to talk to her when she talks to you like that. Whatever you're comfortable with. The point is that she should get absolutely NO reaction or satisfaction or demands met when she's screaming.
We read a book once that suggested - to help deal with the parent's embarrassment - that you have a sign that says "Temper Tantrum in Progress" and you take it out in the grocery store or wherever you are.
This might not sound loving - but it really is a matter of will. You need to remain calm, not give in, don't allow her to "get" *anything* she demands while throwing a fit or screaming.
Whenever possible, do NOT let her tantrum change your plans. Go ahead and shop or run your errands. Don't give her that power. Of course, if it's something like church or a small waiting room or whatever, then you need to be considerate of other people.
You said you've tried lots of things, and no doubt you'll get different types of advice here. Regardless of what you try, i think the keys are to remain calm, don't let her get you aggitated, keep normal tones, make it perfectly clear that her tantrum will NOT get her anything - it serves NO purpose whatsoever.
It is a matter of wills. And a two year old can be an incredibly stubborn nut to crack!
Did you know that there are a LOT of simularities between a child in the 2-3 year old range, and kids in the 12-15/16 year range? In terms of the extent and complexity of the transitions they are going through, and them having to learn to deal with changes, and how they can respond (like, tantrums), the two phases of life are very similar.
Love God; Love people.
Seek first to understand before you seek to be understood.
Step 1: Toast the Poptart.