You might consider using your bank's online bill-pay service instead of writing checks.
Years ago, I began efforts to protect my checking account number after I realized how few proactive controls exist on EFT transfers. Recently, I realized that my bank's online bill-pay can improve *my* operational-security. When I schedule a check, they transfer the money to a central account and send checks from that account. No longer does the vendor see my account number. This means that if anyone tries to pull a fast one, the bank's money is at risk, not mine. Plus, it is their fraud department that deals with problems, not mine (which has a single, part-time employee ).
The cost is that the bank gets the float instead of me due to the timing of the withdrawal. Not too worried about that though because I have saved more this year in postage than I would have earned in interest.
It did take me an embarrassingly long time to realizing that I could use bill-pay to send myself a check to validate what information did and did not appear on a check.