Battleships do not shoot in a straight line towards targets, it's farily easy to assume that a high arcing shot can get within suitable distance of a submarine, especially when the shell loses it's forward velocity in the water. The only thing that really stops battleships being able to hit submarines is the artificial limitation on the targeting.
"future technology has shells that can shoot submarines underwater because future" and "atlantis cant stay underwater because present" at same time?
Weapon tech can advance over thousands of years, the foundations of basic physics cannot. Unless you want to state that there is some magic unobtanium metal that allows it to sink but only so much, and can be randomly removed to then float again.
I know it's cool to be a hero of justice and "fix problems" but actually think about it for a second. Submarines in this game are completely underdeveloped, an afterthought to counter things that hide in the water, take no real skill to use, take no real skill to deal damge, and are entirely boring to use and watch. Is buffing subarmines into viability actually healthy for the state of the game? Don't ruin the fun of the game in some blind crusade to "fix things" and be a hero.