The battery life on the S is crap anyway, and it is a bit worse on Rockbox than in the OF as far as I remember.
Having said that, 2-3 hours is overly short, it sounds like you need a new battery. This is backed up by your observation that the battery reads low after activity then rises, which is another symptom of an old battery.
The battery is old, it needs replacing. With a new one you should get something like 8-10 hours.