© 2015 IEEE.In this paper, we analyze and optimize non- binary low-density parity-check (NB-LDPC) codes for magnetic recording applications. While the topic of the error floor performance of binary LDPC codes over additive white Gaussian noise (AWGN) channels has recently received considerable attention, very little is known about the error floor performance of NB-LDPC codes over other types of channels, despite the early results demonstrating superior characteristics of NB-LDPC codes relative to their binary counterparts. We first show that, due to outer looping between detector and decoder in the receiver, the error profile of NB-LDPC codes over partial-response (PR) channels is qualitatively different from the error profile over AWGN channels - this observation motivates us to introduce new combinatorial definitions aimed at capturing decoding errors that dominate PR channel error floor region. We call these errors (or objects) balanced absorbing sets (BASs), which are viewed as a special subclass of previously introduced absorbing sets (ASs). Additionally, we prove that due to the more restrictive definition of BASs (relative to the more general class of ASs), an additional degree of freedom can be exploited in code design for PR channels. We then demonstrate that the proposed code optimization aimed at removing dominant BASs offers improvements in the frame error rate (FER) in the error floor region by up to 2.5 orders of magnitude over the uninformed designs. Our code optimization technique carefully yet provably removes BASs from the code while preserving its overall structure (node degree, quasi-cyclic property, regularity, etc.). The resulting codes outperform existing binary and NB-LDPC solutions for PR channels by about 2.5 and 1.5 orders of magnitude, respectively.