Try using textures to represent roads (not close ones, but ones behind buildings etc). Also dreddman's 'house' splines, there's a few on the DLS...
Efficient use of track - 16 m in straighter sections etc.
Also the least number of DIFFERENT objects used the better, so if you use a variety of 10 different buildings, five times each, that's better than the equivalent of using 50 Different buildings. If there's a good pattern / varied placement you shouldn't realise you've driven past the same pub 6 times.
The more 'interactive' industries, the worse the FPS - But I've found Andi06's most recent Stations are very effective, and have such great scripts too.
Also be selective with the content you use - it's no secret some content (particularly 3rd party content) is just not made as efficiently as others. This is one of the advantages of Payware, usually, it's made quite well (efficiently, good performance). Now it would cost another mortgage to make an entire route's content payware, but y'know what I mean, look for the better-made stuff to be used.
Edit - oh yeah and trees, splines are probably not the way to go, FPS killers. Groups are good, as is placing lots of the SAME type of tree. Each tree in a forest being different would make terrible performance, so perhaps rotating trees and tree groups to make them appear different is the go. Once again, different content can be made more cleverly than others, performance-wise.
Alex