Stock algorithms for enumerating all subsets of size k (from a set of size N) (e.g. as described here: generate all subsets of size k from a set) tend to use a "lexicographic" order, in which the leftmost element varies slowest. I've also found an algorithm that minimizes the difference between successive subsets in the enumeration, kinda like a Gray code.
I would like instead at each step to generate a subset which is maximally different from all preceding subsets. (This is not the same as "maximize difference between successive subsets" as in the previous formulation of the question.) For instance, considering subsets of size 4 from a set of size 8, one acceptable order begins
ABCD
EFGH
AB GH
CDEF
AB EF
CD GH
Note that the base set is large enough that holding nCk items in memory is impractical.