We consider the problem of (practical) capacity-approaching coding for a compound Gaussian MIMO channel that can assume one of a finite number of states (i.e., matrices). Special cases include rateless coding and coding over parallel Gaussian channels. A coding scheme based on the recently proposed joint unitary triangularization (of matrices) is proposed. We extend the decomposition to a general number of matrices (rather than two as was previously established). The proposed coding scheme involves linear pre/post processing and successive decoding, and requires only a single ``good'' (fixed-rate) scalar AWGN code.