Everyone's already given great advice. I wanted to add a few things.
I'm not gonna lie, rock placements either make or break a town for me. There will be some rocks that will always be in that place (town hall, train station, retail, event plaza).
This guide goes into more detail in regard to those spots. After that, the other rocks are random.
For the random rocks, I found it really helpful to plant a tree two spaces in front of the rock to help hide it.
Here's my rock near the river close to my bridge:
And here's how it looks with the tree in front of it:
I did the same thing with my train station. Here's the rock:
And here's how it looks with a tree:
(Not gonna lie, sometimes I forget it's there.)
The most difficult one was town hall. I did the same thing:
And here's how it looks with the tree:
(You can tell it's still there but it helps.)
I have a few more rocks in random spots.
I put a water path surrounding the rock for these spots (sometimes I'll use a tree as well).
I hope that helped!