Structuring a Regression Model for NCAA Basketball Spreads/Totals
I think a natural approach would be to constrain the coefficient of adjO_T2 to be the negation of the coefficient of adjO_T1, the coefficient for adjD_T2 to be the negation of the coefficient for adjD_t1, etc.  Then, you could learn a logistic regression model subject to that constraint.
This could be implemented in practice by having only the coefficients of adjO_T1, adjD_T1, etc. be model parameters; the coefficients for adjO_T2, adjD_T2, etc., are not additional parameters, but are derived from the coefficients of adjO_T1, adjD_T1, etc.  You can write down a loss function, using the logistic loss, for the loss of any particular set of parameters, and then use optimization to find the parameters that minimize the loss on the training set.
Related: see the Bradley-Terry model.  The above is basically equivalent to using the Bradley-Terry model with exponential score function $p_i = e^{\beta_i}$ where here $\beta_i$ is a linear combination of the metrics for that team, and your goal is to learn the coefficients in that linear combination.  Then $\beta_i$ or $p_i$ represent the &quot;strength&quot; of team $i$, and the Bradley-Terry model says that the probability that team 1 beats team 2 is given by $p_1/(p_1+p_2)$, i.e., it is a function of their relative strengths.