Time series forecasting: prediction and forecast far from the reality
I’m by no means an expert in ARIMA models but I have experimented a bit with them so I can give you a list of some things that I found to improve my models. 


I did a grid search of different ARIMA model parameters to find the best model
I also tried some methods to ensemble ARIMA models. For example, averaging the best three ARIMA models gave a better overall score than just one.
Depending on the problem you can play with what level the data is aggregated. I was interested in predicting weekly sales and so I made a model to predict daily sales and then aggregated the predictions to weekly sales. This improved the accuracy dramatically.


Looking at your autocorrelation there appear to be regular weekly patterns. Trying a SARIMA model with a 7 day cycle may result in better scores, I.e. there is a 7 day seasonality.

Finally, I also tried other model types, like facebook’s prophet package or converting it to a regression problem and using weekday, week number, month and holiday days as features in a random forest.