sed -ne '/\t[^\t\r ]/ p' input-file > output-file
It has inverted logic. It only outputs lines if a horizontal tab character is followed by a non-whitespace character. I include carriage return (\r) as a whitespace character, so that it'll still work correctly even if you happen to have CRLF (\r\n) newlines instead of the more Unix/Linux-traditional LF (\n) only.
Note that you can use
head -n 50 input-file | sed -ne '/\t[^\t\r ]/ p'
to test the script; it only looks at 50 first lines of your humongous input file, and prints them on screen. If that looks okay, try
head -n 2000 input-file | sed -ne '/\t[^\t\r ]/ p' | less
which does the same for 2000 first lines, this time piping through the pager. I'd only then use the first command above to create a new output file.
I too work a lot with large files. This kind of testing tends to become second nature after you realize how much time you save, compared to repeatedly hitting Ctrl-C to stop the output, and closing the terminal window in frustration..