This works in most cases:
{i,j,k,l}::Indices(space, position=free).
{t, \tau}::Indices(time, position=free).
{i,j,k,l,t}::SortOrder;
\partial{#}::PartialDerivative;
ex := \partial_{t i}{ T^{j} };
canonicalise(ex);
ex := \partial_{t i j}{ T^{j} };
canonicalise(ex);
ex := \partial_{t i t j}{ T^{k} };
canonicalise(ex);
The only case which is not exactly what you want is when an index is summed according to the Einstein convention; the summation and canonicalization have the effect of raising one of the indices.
The following is another variant, which also has an issue when an index is summed according to the Einstein convention, it's just a different issue:
{i,j,k,l}::Indices(space, position=independent).
{t, \tau}::Indices(time, position=independent).
{i,j,k,l,t}::SortOrder;
\partial{#}::PartialDerivative;
ex := \partial_{t i}{ T^{j} };
canonicalise(ex);
ex := \partial_{t i j}{ T^{j} };
canonicalise(ex);
ex := \partial_{t i t j}{ T^{k} };
canonicalise(ex);