In practical multi-input multi-output (MIMO) systems, the channel matrices often have reduced rank. Reliable detection of the channel rank is essential in achieving the significant gain provided by MIMO configuration. Existing work on MIMO channel rank detection assume a static channel model, so the proposed methods only consider the noise distributions while the distributions of the MIMO channels are not considered. In this paper, we employ a random channel model and propose three threshold-based rank detection methods which take into account the distributions of both the channels and the noises. In our first algorithm, following existing single-threshold rank detection scheme, we rigorously derive an analytical lower bound on the correct rank detection probability and propose a systematic threshold selection method by maximizing the lower bound. Then we propose two new rank detection methods which use multiple thresholds, where each threshold corresponds to one possible rank value. The thresholds are optimized based on the derived lower bounds on the rank detection probability for different channel rank values. The convergence and complexity of the proposed algorithms are analyzed. Simulation results on the correct rank detection probability of the proposed schemes are provided to show their advantage over existing schemes. The mean-squared-error (MSE) and outage probability are also simulated to show the importance of reliable rank detection in MIMO communications.