There are 3 kinds of lattices that can be built via the lattice command:
1) orthogonal lattice vectors (a1,a2,a3) oriented in the xyz directions
2) orthogonal lattice vectors rotated via the orient keyword
3) non-orthogonal lattice vectors with or w/out the orient keyword
I'm pretty sure setting the spacing as you describe below does
not work for case (3), i.e. it does not give an easily usable
answer. For case (1), what LAMMPS does now
is the same as your formula. Where they differ is for case (2).
LAMMPS does something more general which also works for (3).
But your suggestion is probably a more intuitive answer for case (2),
as I think it does guarantee periodicity on that spacing.
If you agree with this description, then I can change the code as in your file,
to use the length of the lattice direction vector (your formula) as the
spacing for case (2).