I would think some existing UPS units designed specifically for the pi would be a far better approach. Some can allow for additional battery for longer life. I think if I remember correct, some can initiate a shut down on low battery as well. On top of this, I found a nifty design idea for something that may work.
Raspberry Pi UPS
Quoted from this link is the part I want to convey here:
Connect the USB power bank to the USB power supply unit (which should be able to provide at least 2.000 mA of current), and connect the Raspberry Pi to the USB power bank. Further connect the Raspberry Pi to your LAN switch (or router) by cable, if this isn't already the case anyway. Note that the connected LAN device must be powered from the same power source as the USB power bank. The Raspberry Pi can now detect a power outage by noting that the wired LAN connection is going down.
Effectively you would power a small router or something that provides a external connection (from the same power source) that can cause a drop in LAN connectivity on the pi if it is shut off. It would have to be something that has a lower tolerance for power drops than the pi so it shuts off first. Then on the pi you have it ping that LAN and if it does not show connected it does a 'shutdown now'
Granted this would reduce battery life considerably, but it is a non-GPIO/hack to achieve what you are looking for.