When using the GARCH model, should you subtract the mean (if it's none-zero) from your observations? My understanding is the squared observation is a proxy for variance in GARCH models.  If the data itself has a non-zero mean, does it make sense to transform the data beforehand by subtracting the mean from each point before hand?
 A: Consider a GARCH(1,1) model for a time series $x_t$ with conditional mean $\mu_t$ and conditional variance $\sigma_t^2$:
\begin{aligned}
x_t &= \mu_t+u_t, \\
u_t &= \sigma_t \varepsilon_t, \\
\sigma_t^2 &= \omega + \alpha_1 u_{t-1}^2 + \beta_1 \sigma_{t-1}^2, \\
\varepsilon_t &\sim i.i.d.(0,1).
\end{aligned}
The model includes a specification of the conditional mean and the conditional variance. 

My understanding is the squared observation is a proxy for variance in GARCH models.  

Unless you explicitly assume the data to have zero mean, squared observations $x_t^2$ are not proxies for variance; squared model residuals $u_t^2$ are (you find them in the equation for $\sigma_t^2$).

If the data itself has a non-zero mean, does it make sense to transform the data beforehand by subtracting the mean from each point before hand?

No, you do not need to do that. 
You do not need to preprocess the data to remove the mean since you can specify the mean equation within the model. In your case, it would be $\mu_t=\mu$ (a constant).
