Ну, понятно, готового решения нет - максимум, мысли, куда двигаться

С налету - можно попытаться как-то так:
1. Одна шестеренка предполагается вращающейся равномерно, для второй надо подбирать углы, соответствующие равномерным углам первой, с учетом локальных радиусов.
2. ОК, задача переформулируется так: сумма углов поворота первой шестерни = заданному углу, который соответствует одному обороту второй шестеренки, при этом каждый угол пропорционален с заданным коэффициентом либо просто радиусу в соответствующей точке, либо какой-то более сложной тригонометрии (не уверен, надо рисовать на бумажке) в той же точке. Надо найти этот самый коэффициент, при котором общее число точек получится равно нужному нам (заданному дискретностью поворота первой шестеренки).
3. Налицо стандартная задача линейной однопараметрической оптимизации - хоть делением пополам, хоть золотым сечением, хоть чем угодно

Находим этот самый коэффициент, генерим углы, по ним вращаем точно так же, как в нынешней версии плагина.
Нет уверенности, что результат будет идеальным, конечно - но сильная иллюзия, что он будет интереснее нынешнего - есть

В качестве первой пробы, вроде бы, такого метода должно хватить, а уж там можно улучшать и расширять по потребности...