Ship Placement
Avoid the edges of the map, as this limits the number of empty spaces surrounding your ship and makes it easier for an opponent to land successive hits. Place your ships with at least once space between them. If an opponent lands a lucky hit they won't catch other ships while trying to isolate the one they've found. Each of your ships should be surrounded by a buffer of empty spaces.
Backup Plan
The best way to do find rival ships is to fire diagonally across the map, first from the upper left to the bottom right, then from the top right to the bottom left. Then strafe the map with a checkerboard pattern, firing from left to right and hitting every other space. Do not attempt to sink any ships until you have a good idea of where all five are positioned. You can then sink them all in rapid succession while your opponent fishes around for your remaining ships.
The "Knight"
If you find yourself losing ships and the pattern attacks aren't getting you anywhere, use the "Knight" move. Fire at any square, then count two squares right or left and one square up or down, similar to the way a Knight moves in Chess. This is an unexpected pattern of fire and will likely land you a few hits as it forces to you fire at squares you may have otherwise overlooked.
Count Spaces
Each ship takes up a certain number of spaces, and that information can help pinpoint their locations. For example, an aircraft carrier takes up five horizontal or vertical spaces. If you see an area of five or more open spaces, fire into the middle of them. Firing into every third empty space will eventually score a hit on one of the larger vessels.