Some robust perhaps more complex as neural networks to measure the distance between data?
It all depends how you frame your problem.

Whats complex? more parameters, more time complexity, more exotic looking etc...

Here are 2 cool ideas how to measure similarity:

Mahalanobis distance measure of the distance between a point P and a distribution D. Cool but more importantly its robust because you are using parameters of your distribution to measure the distance.

Neural networks. If we relax the definition of "measuring distance between data" then Check siamesse networks. The gist of it is, can you group similiar sequences of data together. Why I like it? cause of one-shot learning