In-sample fit is a very bad proxy for out-of-sample accuracy, and optimizing in-sample fit will tempt you to overfit.
The gold standard is to use a holdout sample: hold back the last observations of your historical data, fit your models to the remaining data, then forecast into the holdout sample and see which model performs best on it. This will not help you much if you need a long-range forecast, with a horizon longer than your history - but "standard" time series forecasting algorithm are not really made for such long-range forecasts, anyway.
If you compare models from the same model class, you can use information criteria such as AIC or BIC, which trade off in-sample fit against model complexity. So you can compare different ARIMA models, or different ETS models. However, you cannot compare an ARIMA model against an ETS model using information criteria.
I recommend Forecasting: Principles and Practice by Rob J Hyndman
and George Athanasopoulos.