Cell-free massive multiple-input multiple-output (MIMO) system is a promising architecture for next generation wireless systems by deploying a very large number of distributed access points (APs), which simultaneously serve a smaller number of user equipments (UEs) over the same time-frequency resources. It guarantees uniformly good service at high spectral efficiency with simple linear precoding techniques and max-min power control. In this article, we propose a new joint maximum-ratio and zero-forcing (JMRZF) precoding scheme, where part of APs are combined to perform centralized zero-forcing (ZF), while other APs apply simple maximum-ratio transmission (MRT). Our proposed precoder offers an adaptable trade-off between the spectral efficiency and front-haul signalling overhead. A corresponding AP subset selection scheme is also proposed which is based on large-scale fading coefficients. A closed-form expression for the achievable spectral efficiency of our proposed scheme is derived, which represents a generalized result including both fully distributed MRT and fully centralized ZF cases. Based on this closed-form expression, max-min power control is formulated and solved via the second order cone and first order methods. The former can obtain the global optimal solution, but its computational complexity is very high. On the other hand, the latter technique is sub-optimal, yet, it has very low computational complexity. Hence, it is suitable for large-scale cell-free massive MIMO systems with hundreds or thousands of APs and users. Numerical results show that our proposed JMRZF scheme can substantially outperform the local precoding schemes, even when a small part of APs are combined to deploy ZF and is implementable even when each AP has very few antennas. In addition, it is shown that our max-min power controls improves the spectral efficiency significantly, compared to the uniform power control scheme.