LSTM Validation MSE always lower than Train MSE
One important thing to start with is to check that your targets are in [-1, 1] range because you have a 'tanh' as output function. You should also analyze the distribution of your targets (True class). 

Then, one of the first steps that I would recommend is to try to overfit your model. Make a model 'complex enough' and overfit small proportion of your initial data set (20% maybe?). 

If your model does not overfit, there are two possibilities:


Model architecture not suited for this task (maybe lstm) or model not complex enough
Your data is not adapted for prediction task.


If your model overfits (Good sign):


Try to increase the complexity of your model when increasing the size of the samples (training set). Do not use any dropout or regularization and increase the number of layers instead of the number of units/layer.