Among $k$ unit vectors, find odd set with sum length less than 1
The latter problem feels similar to the Shortest Vector Problem (SVP) in integer lattices.

The Shortest Vector Problem is:

Input: vectors $v_1,\dots,v_k$
Goal: find a non-empty subset of vectors whose sum has length as short as possible

Your problem is:

Input: vectors $v_1,\dots,v_k$
Goal: find a non-empty subset of vectors whose sum has length $\le 1$, such that the number of vectors in the subset is odd

If we omit the "odd-size" constraint for the moment, the two are very similar: one asks for the sum to be as small as possible, the other asks for the sum to be $\le 1$.  Thus, any algorithm for SVP would immediately yield an algorithm for your problem (ignoring the odd-size constraint).  And solving your problem sounds like it might be about as hard as the SVP (if we replace $\le 1$ with $\le t$ where $t$ is an additional input, your problem becomes as hard as the SVP; reduction by binary search on $t$).

Unfortunately, the SVP is hard: roughly speaking, it's hard if $P \ne NP$ (this isn't quite right, but it's close).  This makes me think that your problem might be hard, too.

That said, there are approximation algorithms for the SVP.  You can use LLL lattice reduction to find a subset whose sum is not too much larger than the shortest possible.  Unfortunately the gap between "the true minimum" and "what LLL finds" is pretty large, so this might not be good enough in practice.  But it is something you could try and see if you get lucky.

I'm not sure how to accommodate the extra restriction that the subset be of odd size.  You could try solving with LLL reduction and hope the resulting subset has odd size (50% chance). I can't think of a better technique, unfortunately.