I'm using maximum likelihood estimation to fit a model of a pre-determined form to some data. To test this fitting method, I decided to generate some simulated data using the precise model form and known parameters to determine if I could recover those parameters. When I do this using roughly the amount of simulated data as I will be using when fitting the actual data (~500 data points to fit 7 parameters), I find that the fit model parameters often do not generalize well to explain new simulated data sets. In other words, the model seems to be overfitting.
I'm looking for advice on how to improve my fitting procedure. I've seen a lot of resources out there about cross-validation methods, though I seem to only see this being used for model selection, not for estimating parameters of a model where the form has already been chosen. Is it also used in the case I'm describing? I would imagine you would divide your data into a number of training and test subsets, train on a bunch of different subsets, and choose the set of parameters that produce the highest likelihood for the test set. Is this a principled way of finding the best set of parameters? If not, what would be better? Thanks for your help!