I, myself, like to have full control, and so will continue to use my semi-automated spacing and kerning system that is handled by diverting FontForge’s named base-to-mark anchors to another task. There isn’t any real math to it. Essentially I have to tell my programs how close to let things get to the various parts of a letter, and then they fit letters together as tightly as possible (although there is also support for special cases in case the method fails in a given instance). Spacing and kerning are handled more or less together, and most accented letters are handled automatically.
(It gets a bit complicated for italic fonts, unfortunately.)