Error control is significant to network coding, since when unchecked, errors greatly deteriorate the throughput gains of network coding and seriously undermine both reliability and security of data. Two families of codes, subspace and rank metric codes, have been used to provide error control for random linear network coding. In this paper, we enhance the error correction capability of these two families of codes by using a novel two-tier decoding scheme. While the decoding of subspace and rank metric codes serves a second-tier decoding, we propose to perform a first-tier decoding on the packet level by taking advantage of Hamming distance properties of subspace and rank metric codes. This packet-level decoding can also be implemented by intermediate nodes to reduce error propagation. To support the first-tier decoding, we also investigate Hamming distance properties of three important families of subspace and rank metric codes, Gabidulin codes, Kotter--Kschischang codes, and Mahdavifar--Vardy codes. Both the two-tier decoding scheme and the Hamming distance properties of these codes are novel to the best of our knowledge.