One of my brother's controller's battery pack broke months ago. We only had two working battery packs and thus two working controllers. It stayed that way for months until I decided that I might be able to fix it. What i came up with was ridiculously simple, quick, usable, and required next to no parts.
Step 1: Supplies
1. Tape (I used 2" masking tape for its size and lack of residue)
2. Aluminum Foil
3. AA Batteries
Step 2: Make a Little Strip of Metal
1. Tear off a strip of foil about an inch wide.
2. Fold the uneven edges in to form a uniform strip.
3. Fold the Strip onto itself and form a small piece of metal about 1/4" inches wide and a little less than an inch long.
Step 3: Form the Battery Pack
1. Tape the batteries together, using about six inches of tape, tight enough that the batteries do not separate or roll easily.
2. (optional) If you are unsure of the polarity (positive, negative) of each terminal, label them on the outside of the tape. It will be important later.
3. Tape the strip from step 2 onto one side of the batteries so that it connects the terminals together.
Step 4: Make Wadding
The wadding is to ensure that the battery pack maintains enough pressure on the springs to work. It doesn't really matter what you use, but I use tape for convenience. Make sure that the wadding is tight enough that you can turn the controller upside down and the pack will remain in place.
BE SURE THE POSITIVE TERMINAL (THE ONE WITH THE HUMP) IS ON THE LEFT SIDE.
Step 5: Test the Battery Pack
Hold down the Power button and see if it works
If It doesn't:
1. There isn't enough pressure on the springs (from the wadding).
2. The battery terminals are not aligned with the springs in the controller.
3. The battery terminals are not installed with positive and negative sides on the right sides. Positive is on the left.
Step 6: Tape the Pack Into the Control
No matter how tightly the pack is wedged into the controller, it is a good idea to tape it in to ensure it doesn't fall out. This is one reason why masking tape is useful; because it won't leave residue on your controller between recharges.