Finding the exact cause is a matter of elimination.
Here are some possibilities:
1. Since you have had 3 batteries that will not hold a charge. Your battery charger is suspect.
2. Remove the SD memory card that is in the camera and use a different card.
3. All "No-Name" batteries are suspect. Until you try a "Canon" branded battery, they will remain suspect.
4. Check the battery compartment and clean all of the electrical contacts with alcohol.
5. Check to see if the battery compartment door is closing properly.
See if their is sufficient spring action to insure a good electrical connection.
6. See if you are getting a low battery warning on the camera LCD screen.
There is no battery indicator that stays on the screen all the time.
With Canon cameras, the warning indication will only show on the screen when the battery is about to be depleted.
7. It is possible that the camera has a short circuit:
After you put a fully charged battery in the camera, after 5 minutes, check to see if the battery is overly warm or hot. Also check the entire camera for any hot spots.
You will not be able to fix that yourself. It needs to be serviced by Canon.
I have a Canon SD600 Camera that is a few years old. About 6 months ago, the original battery would not hold a charge, so I got a aftermarket replacement battery. That battery would not hold a charge either. So then I got an OEM battery, and that wouldn't hold a charge either. The charger says the battery is fully charged, but I could only take about 5 pictures before the battery is empty. Anyone know what the problem might be? Thanks.

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic