Change orientation of multi mesh, align them on mesh length

Ive got this tree model where the leaves are one mesh. I would like to use shape key to make all the leaves less wide, so i can change them if i want.

When i go into edit mode i notice that the orientation of each mesh is different. Im trying to scale them on X-axis using normals so i can make them less width. But for some parts the orientation is flipped and thus it will make the mesh longer instead less width.

Is there a method to align all orientations according to ie the longest side of a mesh. Ive attached 2 screengrabs which shows the orientation of the mesh being different in edit mode using Normals transformation.

Ive added a small part of the complete mesh, hope this helps


leaves_orientation.blend (209 KB)