Hi Myke -
I believe control characters like tab, carriage return, and line feed are not supposed to be used in MARC21. The only ASCII code points in 00-1F which are expected are ESCAPE (0x1B), RECORD TERMINATOR (0x1D), FIELD TERMINATOR (0x1E), and SUBFIELD DELIMITER (0x1F), per [1]. However, my memory may be wrong - I didn't see anything in a quick skim through [2] which prohibited formatting characters like TAB and CR/LF.
That said, PyMARC and other MARC tools generally don't enforce this. The problems you're seeing are more generic: you're working with data which is expected to be textual, and formatting characters like TAB and CR/LF shouldn't be part of that textual data.
I generally replace TAB and CR/LF with space (0x20) character(s) when I find it in MARC data.
Thanks --Andy