Field spectroscopy and other efficient hyperspectral techniques have been widely used to measure soil properties, including soil organic carbon (SOC) content. However, reflectance measurements based on field spectroscopy are quite sensitive to uncontrolled variations in surface soil conditions, such as moisture content; hence, such variations lead to drastically reduced prediction accuracy. The goals of this work are to (i) explore the moisture effect on soil spectra with different SOC levels, (ii) evaluate the selection of optimal parameter for external parameter othogonalization (EPO) in reducing moisture effect, and (iii) improve SOC prediction accuracy for semi-arid soils with various moisture levels by combing the EPO with machine learning method. Soil samples were collected from grassland regions of Inner Mongolia in North China. Rewetting laboratory experiments were conducted to make samples moisturized at five levels. Visible and near-infrared spectra (350–2500 nm) of soil samples rewetted were observed using a hand-held SVC HR-1024 spectroradiometer. Our results show that moisture influences the correlation between SOC content and soil reflectance spectra and that moisture has a greater impact on the spectra of samples with low SOC. An EPO algorithm can quantitatively extract information of the affected spectra from the spectra of moist soil samples by an optimal singular value. A SOC model that effectively couples EPO with random forest (RF) outperforms partial least-square regression (PLSR)-based models. The EPO–RF model generates better results with R2 of 0.86 and root-mean squared error (RMSE) of 3.82 g kg−1, whereas a PLSR model gives R2 of 0.79 and RMSE of 4.68 g kg−1.