I've replaced my macbook pro battery with a non-official one and since the battery lasts a few hours less that the original one did at first (6h < 9h) when my battery starts running out at 1% there's not enough battery power to perform the hibernate to disk, so I always end up with a forced shutdown. Is there anyway to tell the mac to force the hibernation at a 5% of battery or something like that? I've tried pmset but that only work if you have an attached UPS.
I had a similar problm, and found that there was no ready-made solution to force the computer to sleep at a different battery percentage (eg. go into "Safe Sleep" at 5% instead of 1%).
The (lame) workaround I ended up using was using SlimBattery Monitor to issue a pop-up warning at a custom battery percentage (for me it was 20%), at which point I must close my laptop/manually tell it to sleep, until I can get it on AC power.
It seems you would have to write your own applescript to make the computer sleep if the battery is too low, and add a LaunchAgent to have it repeatedly run the script to check the battery power. Annoying enough that I didn't venture down that path. I was surprised none of the many battery-monitoring programs had this funcitonality (I may have just missed the one that does).