Owing to the heterogeneity of software and hardware in different types of mobile terminals, the received signal strength indication (RSSI) from the same Wi-Fi access point (AP) varies in indoor environments, which can affect the positioning accuracy of fingerprint methods. To solve this problem and consider the nonlinear characteristics of Wi-Fi signal strength propagation and attenuation, we propose a whale optimisation algorithm-back-propagation neural network (WOA-BPNN) model for indoor Wi-Fi RSSI calibration. Firstly, as the selection of the initial parameters of the BPNN model has a considerable impact on the positioning accuracy of the calibration algorithm, we use the WOA to avoid blindly selecting the parameters of the BPNN model. Then, we propose an improved nonlinear convergence factor to balance the searchability of the WOA, which can also help to optimise the calibration algorithm. Moreover, we change the structure of the BPNN model to compare its influence on the calibration effect of the WOA-BPNN calibration algorithm. Secondly, in view of the low positioning accuracy of indoor fingerprint positioning algorithms, we propose a region-adaptive weighted K-nearest neighbour positioning algorithm based on hierarchical clustering. Finally, we effectively combine the two proposed algorithms and compare the results with those of other calibration algorithms such as the linear regression (LR), support vector regression (SVR), BPNN, and genetic algorithm-BPNN (GA-BPNN) calibration algorithms. The test results show that among different mobile terminals, the proposed WOA-BPNN calibration algorithm can increase positioning accuracy (one sigma error) by 41%, 42%, 44% and 36%, on average. The indoor field tests suggest that the proposed methods can effectively reduce the indoor positioning error caused by the heterogeneous differences of software and hardware in different mobile terminals.