stable set PCA while adding features
If you're prepared to use a neural net, it might be worthwhile looking into spatial pyramid pooling. 

A spatial pyramid pooling layer can take inputs of varying sizes (eg from  a convolutional layer) and convert them to an output of a fixed size (to pass on to a fully connected layer for instance). This is probably most useful where features are spatially related in some way.

Alternatively, you could continue simply implementing pca on your inputs, selecting the N dimensions with the highest variance for each example, but train the model continuously through reinforcement learning. 

As there is more to how data is distributed along an axis than the variance, it is unlikely that any one pretrained model will perform well when your preprocessing step is constantly swapping out features, which is why a reinforcement model would be needed.  Combined with the pca, hopefully that won't take up too much overhead.