had taughtに置き換えたらおかしくなりますか? → おかしくはなりませんが、意味が異なることになると思います。
1. He had been teaching English before he became a singer. 彼は歌手になる前はずっと英語を教えていました。
※had been teaching(過去完了進行形):継続
2. He had taught English before he became a singer. 彼は歌手になる前に英語を教えた経験がありました。
※had taught(過去完了形):経験
参考にしてください。