Place your ships as randomly as you can, but never adjacent to each other, and less frequently near the edge of the board. If you place them on the edge, and your opponent gets a hit, he only has to check three directions instead of four to find out which way the ship is pointed.
When guessing: diagonals are good. In the worst case scenario, you will have to guess in a checker board pattern to find the destroyer. In the best case scenario, you will quickly kill the destroyer and then you can guess in diagonals spaced 2-apart. At the beginning of the game, you don’t know whether you will be doing diagonals 1-apart or 2-apart, so you should do diagonals 5-apart, so that if you hit the destroyer, you can go directly to diagonals 2-apart without any wasted guesses. So something like this:
.1.,3,.1.,
,.1.,3,.1.
3,.1.,3,.1
,3,.1.,3,.
.,32.1.,3,
1.2.2.1.,3
.1.2.2.1.,
,.1.23,.1.
.,.1.,3,.1
,.,.1.,3,.
Guess all the 1’s first. Then guess 2’s in that pattern until you kill the destroyer. Thereafter, guess in the 3 pattern.
This isn’t perfect because it ignores the slim chances that you’ll get the sub and the cruiser quickly. If you are lucky enough to do that early in the game, you can start doing diagonals spaced 3-apart.