The issue is that I've forgotten what I wanted to write
In any event I'll point some stuff out that I currently have in my mind (they are not all foliage related) :
1. Even-though every one says use geometry for the leaves instead of opacity maps, but it's not always possible and is not the most efficient way of creating a plant. So assuming you are using opacities, try to turn off filtering of the bitmap for opacity maps, specially in still images.
2. The amount of non-opaque areas should be the minimum in the bitmap, which means even if you are going to use a simple plane as a leaf a texture projected from the top view, try to cut out the areas of the geometry that you don't see any texture. Although that'll double your poly count, but it makes the renderer go faster.
Look at the example, assuming you have the same alpha map ;
3. Not related to speeding up, but to avoid getting a halo/fringing around opacity used objects, try to have a slightly smaller alpha than the actual RGB. Either that or fill the background of the texture with a similar color as the texture.
4. In Photoshop when trying to create an alpha channel either not use feather at all or a very tiny amount.
5. Set the reflection max depth to a low amount if you don't really need it to be that high, 1 will work fine almost always. Either disable glossiness for midground/ background objects &/or disable tracing of reflection for background objects. This works extremely well as now we have LOD in forest pack.
6. Having both refraction and opacity used at the same time is not what I ever recommend.
7. If you are a V-ray user take a look at the Max transp. level and also Transp. cutoff under Global switches and adjust them accordingly.
8. Not foliage specific ; try not to have overlapped geometry specially in animations. Now if you have a messed up model and don't want to fix it then use the Secondary ray bias under Global switches. Usually a small value above 0 will do, like 0.001 .
9. I sometime disable the filtering on all maps whether opacity or not. That won't cause too much issues specially in stills. The same thing is true for Antialiasing Image filter option in V-ray. I tend to turn it off.
10. Remove unused objects and assets from the scene. Also try to include only stuff that needs to be rendered in front of camera. If it's not going to be seen and has no effect, then it shouldn't be there. (Unless used for shadows or reflections ...)
11. Blend materials will slow thing down dramatically, try to avoid them as much as you can.
12. try to use as few lights as possible. Storing lights with Irradiance map is a great time saver option, but it has its drawbacks such as not being able to output that particular light in light select element. Similarly Use light cache for glossiness specially in scene with lots of foliage and glossiness.
13. Avoid Vray displacement as much as possible. Instead subdivide you geometry up to an acceptable resolution and use Max's default disp. modifier. Works great for many scenes.
14. Handling 1000 objects of 100 polys is more difficult for renderer than 10 object of 10000 polys.
15. Try not to have your scene far from the origin. This is usually the case for imported models from other apps like AutoCAD or ArchiCAD.
16. For background trees try to use bigger leaves(up to an acceptable range) which will result in lower polycounts. You may also be able to disable opacities for those as well.
17. Remember if you are using X-refs there are options to merge materials and transformation.
18. There's a new option in V-ray 3.1 which lets you use different opacity modes for materials which will decrease the render time in scenes with lots of opacities.
19. If a detail can't be seen, it shouldn't be there.
There are a lot more, these are the ones that I can now remember, although most of them are obvious to most users. There are also some stuff for rendering large scenes when you run out of memory. If you want I can write them out too. You may want to remain subscribed to this post as I might update it in future.