I have searched along different papers (such as this, this and this), on Google and also In Which Type Of Data Does Combat Best Perform? but I am unable to get in which order it is better to do normalization and batch effects removal.
In my opinion I think that normalizing before batches removal can flatten the signal and the order must be reversed, batches removal and then normalization..
What is the best practice?
In general, I think you will want to work with normalized data, as normalization is used to remove inherent technical biases in the data. In some cases, you may want to normalize batches separately and then apply batch correction. In other cases, particularly when the "batch" is unknown, normalization as a single group is the only way to go, followed by latent variable discovery (SVA, for example). As usual, the answer is experiment- and data-specific.
In the larger picture, remember that, just as normalization cannot "fix" a bad experiment, batch correction cannot correct for a poor experimental design. I say this only because it comes up so often and you may have to justify the point to experimenters.