I make very few rules, just the ones that are ones I am willing to walk out of the store for. And then I don't give in.
I also don't ask permission, as a rule. (I don't do the, "Here is the expectation, okay?") Since it's not really my child's choice on those particular things, I don't feel comfortable implying that it is. Probably this is semantics on my part, but it worked well for my 3 very different personalitied DC to be very clear and solid with as few rules as I could get away with.
But generally if the child tantrums I don't give in, period. I'm not mean or punitive about it. I just considered it to be MY mistake (I took them out when they were not really capable of dealing with things), so I would kindly scoop them up and remedy the situation (by going home). Oh, that was very hard, since I hate making people's lives difficult (the poor retail or grocery people who were going to have to shopback all my stuff--in the grocery store I always tried to say something to a cashier or manager or someone at the service desk to alert them).
As far as rules at home, I don't have much. I do try to say yes as often as possible. If I'm not open to discussion, then I disclose that truthfully. If I'm considering something and leaning towards no, I'll often ask my DC to give me some reasons or ask them why they want to do X. Sometimes it resolves in their favor right at that moment, sometimes they won't be able to do it then but we can come to an agreement about another time/place, sometimes it resolves in my favor. It works out pretty well for our family. Don't get me wrong, all three of my kids still have big kid tantrums from time to time, but believe it or not, they're pretty likely to go work it out and pound a pillow to get the out of control emotions out and then ask if we can talk about it. It's been a good model for ME as well.