We study precoding for the outage probability minimization of block fading (BF) channels and BF relay channels. Recently, an upper bound on the outage probability with precoding was established for BF channels, but only for high instantaneous SNR. This upper bound is much easier to minimize than the actual outage probability, so that optimal precoding matrices can be determined without much computational effort. Here, we provide a proof for the upper bound on the outage probability at low instantaneous SNR. Next, the structure of the precoding matrix is simplified so that it can be easily constructed for an arbitrary number of blocks in the BF channel. Finally, we apply this technique to cooperative communications.