Hm. Is this a theoretical problem, or one you're seen happen?
You can certainly cross with different normal vector, such as the normal of proximal bone. Using bone-basis-arrows for reference, we see that the normal vector is basis1:
// line 102: before
var dir = Leap.vec3.dot(hand.palmNormal, cross);
// after
var dir = Leap.vec3.dot(hand.middleFinger.proximal.basis[1], cross);
But I wasn't able to notice a large difference with this - both seemed to be able keep small angles when making a fist.
If your problem persists - perhaps make a recording and a codepen?