By sphere packing arguments you can't do better in general than the Hamming bound
$$
\# T \left(1+ \binom{n}{1}+ \cdots+ \binom{n}{r-1}\right)\leq 2^n,
$$
or
$$
\#T \#S_{r-1}(x)\leq 2^n,
$$
in your notation. $t=r-1$ is the number of errors the code can correct.

Codes achieving the above are called perfect, there are only 4 of them in the binary alphabet case:

 - the full space with $t=0,$ admittedly trivial,
 - the $n$ odd length repetition code consisting of the all zero and all one vectors with $t=(n-1)/2$ 
 - the family of Hamming codes with $t=1$ and $n=2^m-1$, and
 - the binary Golay code of length $n=23$ and $t=3$ which is related to many combinatorial objects.

There is also a lower bound called Gilbert Varshamov which asserts the existence of sets $T$ with size at least equal to the bound given $n$ and $r$.

Nice coding theory texts include those by MacWilliams and Sloane, Roman, Bierbrauer, Roth.