I put my naval "'picket line" a lot further out to sea than you show.
For example: 
I will put subs out at the red arrows, and check frequently to see if anything is crossing my picket line. This gives me time to react.
I put a destroyer group much closer to shore as a quick reaction force. This gives me room to maneuver and intercept such as the yellow arrows indicate.
You can sometimes take a guess as to the routes people will use, and put subs even further out, which also works.
The downsides to your system is that by the time you discover the invasion they are already on your shore. Also if you are not already at war with them, your ships will just gladly let them through under freedom of navigation rules. A single navy unit per intersection is easily eliminated and passed by if you are not paying attention. If your picket line is further out and one comes up missing, you have a good idea where the enemy was when you were not looking.
And your "trick" with the artillery is misleading at best. I have tested this supposed "bug" before and it does not consistently reveal all enemy units, and you also get "false positives" from buildings.