Linux on mac will always have shorter battery live. That's mostly because of Apple proprietary code required for power management.
I have Fedora 25 with TLP, it operates fine, there is nothing proprietary blocking it (but you do need TLP, install it asap to get any batt life out of Linux) on my macbook and I can almost reach 5 1/2 hours web browsing (Opera with battery saver). On OSX I can easily obtain 9 hours doing similar work. This is all on a 6 year old battery too.