I noticed a bug with the jumpgates in 1.9.5 (I don't know if it's fixed or not in 1.10.0.) In some cases it allows a ship to jump while not consuming as much graviolium as it should, or making the jump entirely free. It happens whenever the jumpgate has too little graviolium stored (which is often, since it does not have any built-in storage) but the vessel flying through it has enough for the jump.
Looking at the source code (WBIJumpGate.cs, lines 563-607), it seems like it detects that the gate does not have enough graviolium, but allows the jump to proceed anyway since the ship does ("As a backup, if the jumpgate can't pay the toll, check the traveler"). However, a few lines down it still tries to take that graviolium from the gate, instead of the traveller. If the gate has none, then the jump is free.
Sorry if I should have posted on GitHub issues instead, didn't know if you check there.