try this
open up the battery
check out the battery contacts, bend them toward the battery a little, or put a small piece of carboard in there to press the metal contacts toward the battery better
its a fairly common problem for the battery contacts to slowly get bent away from the battery, causing exactly what you are talking about
good luck, hope it works