One hot encoding alternatives for large categorical values
One option is to map rare values to 'other'.  This is commonly done in e.g. natural language processing - the intuition being that very rare labels don't carry much statistical power.

I have also seen people map 1-hot categorical values to lower-dimensional vectors, where each 1-hot vector is re-represented as a draw from a multivariate Gaussian.  See e.g. the paper Deep Knowledge Tracing, which says this approach is motivated by the idea of compressed sensing:

BARANIUK, R. Compressive sensing. IEEE signal processing magazine 24, 4 (2007).  

Specifically, they map each vector of length N to a shorter vector of length log2(N).  I have not done this myself but I think it would be worth trying.