I know this sounds weird but it may make the trees and bushes not all look exactly the same.
trees
-
branches will be placed in random positions on the trees, there can be set models for the trunk of the tree and branches.
-
branches get smaller as they get higher up the tree, but you could possibly use the same models, just scaled down. Of course at random positions though.
-
with this, you can get some interesting trees.
bushes
- don’t have a ton of ideas, since the bushes looking the same isn’t as noticeable. Maybe just have the berries at random places for these.
grass
- it’s good enough
Other than that I have no ideas.