Apologies in advance for the length of this answer. Blue is confirmed shaded, green is confirmed unshaded. I did use the Unicode fish.
First off, there has to be at least some water in each region, or it can't have fish in it. Therefore the bottom row of each shape can be shaded. I also shaded some additional rows until there was a way to fit 2 non-touching fish into each shape.
The 8 needs 3 more shaded cells, and there is only one way to give it that.
That shape just completed has only one way to fit two non-touching fish in.
The 8 has two options for getting its last 4 shaded squares. One of them would mean the bottom-left shape would have only its bottom row shaded, so the bottom-right shape couldn't use its bottom row. However there's no way for the bottom-right corner shape to fit two non-touching fish in if it can't use its bottom row. Therefore the second row of the bottom-left shape must be shaded, completing the 8
There are two ways to give the 6 its last 5 shaded squares. If it doesn't use the squares in columns 1-5, then the shape third-from-bottom on the left side would only have its bottom row, and the shape directly to its right would only have the 2x3 at its bottom. Then both of third-from-bottom's fish would go in its bottom row, leaving no way to fit two fish into the shape to its right. Therefore Row 6 Columns 1-5 are shaded, completing the 6
To fit two fish into the newly-completed shape without touching the one in R9C9, one must go in R11C8. That leaves only one way to fit two non-touching fish into the bottom-right corner shape.
The bottom-left shape can't use its bottom row, and it can't put two fish into its second row (that would mean Row 11 would have 3 fish). Therefore it must have at least one fish in its third row, and there is only one place to put that fish.
Step 8 (in which I demonstrate a contradiction):
I put some "f"s in the grid - for each pair of "f"s, at least one must be a fish. I also centered the fish so they look nicer. There are two ways of satisfying the 5. If it doesn't use Rows 1-4, then this situation occurs. Now there is no way of placing two fish in the left-side shape. They would have to both be in Column 1 (to avoid touching R10C3) but can't use the bottom two rows (would make 3 fish in a row) or the top two (would touch both of the "f"s there). So these Rows 1-4 are shaded, satisfying the 5.
Now that middle shape has only two ways of placing fish into it to avoid touching the "f"s.
The left-side shape must have both its fish in its top 3 rows (to avoid making 3 fish in a row) so one fish and two "f"s can be placed.
No fish can go where the "n"s are to avoid touching or making 3 fish in a row. Only one fish can go in Column 3 since there is already a fish in that column. Therefore there must be a fish in R4C2 and some fs as well.
Placing those fish and "f"s, one of the "f"s in the left-side shape can be ruled out and a fish can be placed.
The 10 needs 4 more squares to be satisfied. If it doesn't use the 3 that are part of the top-right shape, then it doesn't have enough - so those square are used, and the 10 can be completed.
The 7 needs two more squares. If it uses the three that are part of the top-right shape then it has too many, so it doesn't use those and the 7 can be completed.
The top-right shape must have 2 fish. One must be at the bottom of Column 12; it will go in whatever row 6 or 7 doesn't have two fish after the other set of fs in those rows is decided. The other fish must go on the other side; I've made a grouping of 3 "f"s to demonstrate this. The rising-bar-chart top-right shape can't fit two fish in without using its bottom row; any attempt that doesn't do so will touch all the "f"s or make 3 fish in a column. Therefore the middle-top shape can't just use its bottom row (this would make 3 fish in Row 5) and the second row can be shaded in.
The only way to fit all the fish into the top-right shape and the rising-bar-chart is to use R1C11 as a fish and also use either both "a"s or both "b"s
The top-left shape can't use only its bottom row; that would make 3 fish in Row 2. Therefore its top row is shaded. Now we've completed the Aquarium, the rest is just Star Battle Logic.
Column 2 needs one more fish and there is only one place to put it. Row 2 needs one more fish and can't use the top-left shape (both its fish must be in Row 1) so the last fish must be placed in the skinny shape.
Column 7 needs one more fish and there is only one more place to put it. That shape now has only one place to put its last fish, as any other would make 3 fish in a column/row.
Columns 4 and 8 each need one more fish and there is only one place to put them.
Step 21 (and the solution!):
Now the one of the "f"s in Column 3 can be ruled out (no-touching), and then one of the "f"s in Column 12 (only 2 to a row), and I realized I goofed earlier - it's not either a or b, it has to be the "a"s because the "b"s touch a fish. And the puzzle is done!