**NEW VERSION** 
The earliest version of this answer was incorrect, as noted by Rob Pratt and Oleg567. My new code was apparently correct but there was an embarrassing bug in old code used with it. 
Keep fingers crossed...

----------


Call two solutions equivalent if one is obtained from the other by permuting columns.  I made some crude code, not well checked, and found these optimal solutions for vectors of length $n$.

$n=2$: best is 2, 2 nonequivalent solutions, example

    10
    11

$n=3$: best is 4, 2 nonequivalent solutions, example

    110
    101
    011
    111

$n=4$: best is 5, 48 nonequivalent solutions, example

    1100
    1011
    0111
    1110
    1111

$n=5$: best is 7, 877 nonequivalent solutions, example

    11100
    11010
    11001
    10111
    01111
    11110
    11111

$n=6$: best is 9, 114227 nonequivalent solutions, example

    111000
    100111
    010111
    001111
    110110
    111100
    111011
    111110
    111101

$n=7$: best is 12, example

    1000000
    0100000
    0010000
    1001000
    1101100
    1001011
    0011110
    1110010
    0111010
    0111001
    0100111
    1010101

The method I'm using might be able to do $n=8$, but $n=10$ is impossible. If someone could verify the above are solutions, that would improve confidence in the results.

The slowest part by far is testing for equal subset sums.  I run through all the subsets using a gray code, with only a few machine instructions for each. But what it really needs is some way to test the condition without enumerating subsets.  Is there one?