Downlink scheduling schemes are well-known and widely investigated under the assumption that the channel state is perfectly known to the scheduler. In the multiuser MIMO (broadcast) case, downlink scheduling in the presence of non-perfect channel state information (CSI) is only scantly treated. In this paper we provide a general framework that addresses the problem systematically. Also, we illuminate the key role played by the channel state prediction error: our scheme treats in a fundamentally different way users with small channel prediction error (predictable users) and users with large channel prediction error (non-predictable users), and can be interpreted as a near-optimal opportunistic time-sharing strategy between MIMO downlink beamforming to predictable users and space-time coding to non-predictable users. Our results, based on a realistic MIMO channel model used in 3GPP standardization, show that the proposed algorithms can significantly outperform a conventional mismatched scheduling scheme that treats the available CSI as if it was perfect.