The order problem I solved by setting the sequence and orientation for gestures to "INVARIANT."
gestureLib.setOrientationStyle(GestureStore.ORIENTATION_INVARIANT);
gestureLib.setSequenceType(GestureStore.SEQUENCE_INVARIANT);
More on that here.
For my other problem, I've added a "left" and "right" gesture that each is simply a swipe in their respective direction. If either of them are the most accurate gesture to come back in predictions, I consider it a failure on the user's part. This makes it impossible to bypass the difficulty of my gestures by swiping randomly.
Another thing I did to force accuracy on my gestures... Because my gestures were originally hand-drawn based on my own finger-writing, they weren't guaranteed to be accurate to the symbol in my app that I'm asking users to draw unless their handwriting matched mine. So I modified the GestureBuilder project to show the symbols in the gesture drawing activity and then traced them for as much accuracy as possible. Now when the user draws one of my symbols correctly without sloppiness, the prediction returns a score closer to 30-60 rather than 20-30. This also meant that symbols that were similar, such as capital Greek letter Omega and Omicron (also known as O), are now a lot less similar because of my tracing.