Zero-forcing (ZF) precoding can asymptotically achieve the sum-rate capacity offered by the dirty paper coding (DPC) in a multiple-input multiple-out (MIMO) broadcast (BC) channel in the limit of the large number of users K. However, its performance is degraded for relatively small K, e.g., Kles100, partly due to the excessive transmit power penalty when the channel matrix of selected user subset is poorly conditioned. To avoid this power penalty, we propose to use channel inversion regularization (CIR) in the precoder in MIMO BC channels. Unlike the interference-free ZF, maximizing sum-rate capacity using CIR precoder becomes a nonlinear, nonconvex optimization problem, which cannot be solved by simple water-filling strategy. Hence, we propose an efficient optimal power allocation strategy for the selected users based on gradient projection (GP) method. Simulation results show that the proposed precoding and power allocation scheme achieves better sum-rate performance than ZF for a wide range of K.