By now you've probably already made your decision, but I would certainly have decided to go to place A. They two school are doing what's best for them, and you should do what's best for you. This is probably the only time in your graduate career that you'll have some control over your future; use it well. Explain to B that A was your first choice, and that they've given you a much better package. They'll understand; they deal with many of these cases every year. I'm sure some end up turning down B last second and going to A.
When I was in a similar situation, the head of a large department at a top school told me that if "something really good comes from the other places, you can change your mind. It isn't nice, but what choice do you have. You don't have to worry about anyone remembering this a few years down the line at the jilted school." In the end, I heard back from my first choice, where I was waitlisted, right before I told the other place yes, but I still would have gone to choice A, even if I had already said yes to B.