The root cause of this issue is how the mod computes the capacity of the four tiers of batteries. It's the computation on line 72 of items.lua that evaluates fuel_value.
Right now, it appears to be setting the capacity to 3 times the "vanilla" fuel energy content (e.g. coal being 4 MJ) times the "vanilla" fuel stack size.
So a tier 1 battery has a capacity of 3 * 4MJ * 50 i.e. 600 MJ
The inconsistency happens when you compare tier 3 and tier 4 batteries.
T3 is 3 * 100MJ * 20 =. 6 GJ
T4 is 3 * 1.21GJ * 1 = 3.63 GJ
Net result: for maximum range, use tier 3 batteries.
My suggested fix would be to add a final multiplier factor as a 7th parameter to AddFuel(), pass that parameter to FullFuel(), and then on line 72 multiply the current result by this new multiplier factor to get the final capacity. In my extremely humble opinion, tiers 1, 2 and 3 don't need to change, but tier 4 needs a multiplier of at least 3 (10.89 GJ) if not 4: (14.52 GJ).
Needless to say, this assumes that the desire is to have monotonically increasing capacities as the tier increases. A valid design option is to leave it the way it is, so you would have to decide between tier 3 for long haul trains, and tier 4 for faster short haul routes.