Correct LSTM model to predict shuffled data
The input for an RNN like LSTM should be in the shape of (batch, timestep, features).
Base on my experience, if your current X_train.shape is in 2D you would like to reshape it into 3D array by X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1)) Then It will be something like (total number of samples, 7,1); 7 is because you have 7 different features.
By the way, you probably would like to start with a single layer of Dense and LSTM.
Further, using multiple layers of LSTM would require you to set return_sequences to True for all LSTM layers before the last one
model.add(LSTM(128,return_sequences = True))
model.add(LSTM(128))