A multi-user MIMO channel is characterized by multiple degrees of freedom that can be alternatively exploited for increasing the link quality through diversity or improving the achievable data-rate through spatial multiplexing. A convenient trade-off between diversity and multiplexing gain is achieved by multi-user orthogonal space-time block coding (OSTBC): an independent space-time code is employed on each user link, while multiple users are spatially multiplexed for additional capacity. This paper addresses the optimization of multi-user OSTBC systems where the receiver is provided with multiple antennas. The study explicitly addresses both ideal maximum likelihood receivers and linear zero-forcing receivers in a general setting that is able to model, e.g., a multiple access channel with uncorrelated receive antennas. Assuming K scheduled users, it is shown that system performance optimization can be decoupled into K simpler independent convex optimization problems that are conveniently solved in a distributed fashion.