Where are the fishing spots surrounded by rocks etc, and do they actually increase the chances of catching fish?
Trent's answer gives a solid overview of chain fishing in general. To complement that, here are some of the best areas for chain fishing.
Note that each spot is surrounded on 3 sides with rocks or cliff.
This spot is just below Ambrette Town (courtesy of this guide). Exit the Museum onto the Sand, then double back along the cliffs:
Then there's Shalour City, Route 8 and Route 21 (guide)
Shalour:
Route 8:
Route 21:
These are just some of the areas where it is possible, there are many others. Look around, try and find more!
Yes, fishing in a small tile of water walled off by shore and/or rocks on three of the 4 sides decreases the chance of "Nothing seems to be biting..." message. This does not reduce the chances of not catching anything to 0, but it is considerably better than it is otherwise.
However, if you are chain-fishing for shiny Pokemon, your best bet is is to have your lead Pokemon have the ability Suction Cups or Sticky Hold. If the Pokemon you've chosen for the task is under-leveled compared to what you are fishing, having it hold something like a smoke ball will allow you to flee from the hordes of non-shinies without fail.
For more information on how chain-fishing works (specifically what will and will not break the chain) see this question/answer; How does chain fishing work?