You need to practice finding the best move under tournament-type time situations. Some opponents are better than others but that shouldn't matter; you need to work on your thought process and on finding the best move no matter how your opponent plays.
How to train for OTB tournaments

Any kind of long analysis is good. Long timed games (at least G/30) are good practice. I think the Dan Heisman group here on chess.com is a good place to find long games.
I don't know how useful others would find it, but along the lines of MasterDuffer's advice of finding the bset move no matter how your opponent plays, I used to break it into 4 types of moves. My opponent can capture, directly defend, counter attack, or ignore. I think most beginners only look at capture or direct defense, but counter attacks (all the threatening moves they can make against your pieces) are very important, and finally "what if they ignore my move" is a way to see if your intended move is only good if they respond a certain way. For "ignoring" moves I'd find a nothing move like Kg8-h8 or a2-a3 and ask myself if I still liked my move.
Of course this is really hard at first and takes a lot of time, but this is basically what analysis involves, and analysis is one of the most useful (if not the most useful) skill an amateur can train.
I have a problem, I don't know how to train for OTB tournaments, because I don't know anyone who plays chess and can play some training games. The problem is, where I live there aren't many OTB tournaments, like 1 every 3-4 months, so after a tournament I should stop to play OTB for many months and I can't train. Any advice? I know that playing against an engine is not good.