It is challenging to achieve high precision energy resolution for large liquid scintillator detectors. Energy non-uniformity is one of the main obstacles. To surmount it, a calibration-data driven method was developed previously to reconstruct event energy in the JUNO experiment. In this paper, we investigated the choice of calibration sources thoroughly, optimized the calibration positions and corrected the residual detector azimuthal asymmetry. All these efforts lead to a reduction of the energy non-uniformity near the detector boundary, from about 0.64% to 0.38%. And within the fiducial volume of the detector it is improved from 0.3% to 0.17%. As a result the energy resolution could be further improved.