Are you sure it is your battery and not your starter? More specifically your ground that allows for your starter to ground? To test this, take your negative jumper cable and clamp one end to the oil train plug and the other then to the steering rack.
I have had an alternator in my old e30 that would charge but not fast enough if at/around idle. To test this take a volt meter and check the voltage at your power lead at your battery while the car is on, you should see over 13v. It could possible that a diode has gone bad and it is drawing power even when the ignition is off. Thankfully Canadian tire tests alternators for free.
Have you checked the trunk light, glove box, trunk, and interior lights?
Other things to suspect:
Also see this thread: