You got really hosed on the battery. Like, really, really hosed. Go to Costco and buy it yourself, and put it in yourself. Not that hard.
Just to mention--the battery is going to be a little higher on the BMWs/Minis. $300 is still double what it ought to cost, but there's two things that add cost to the battery change:
-The batteries themselves are huge. Like 90Ah. BMW loves to have stuff run while the car is sitting, so over time, the battery drains. Having a large battery helps to keep the car starting.
-The battery needs to be coded to the car. The cars have an "intelligent battery sensor" that adjusts how fast the battery is charged and when it needs to stop charging when the charge is full. Those parameters change as the battery ages, so you've got to reset the car's adaptations when you put a new battery in. Also, if you go from lead-acid to AGM or vice versa, or switch to a different capacity, you need to change that.
With that said, its about a half hour's worth of labor, so at an indy, you'd probably spend about $150 dollars ($100 for battery, $50 for labor)
The nice thing about the technology is that the batteries last forever, in my previous BMW, the battery lasted 8 years/140,000 miles...that's pretty solid.