Here are a few tips. If anyone else has suggestions, please add them on :)
If you're using a persistence method which varies per HTTP request like cookies or UIE, make sure to use a OneConnect profile. If you're using SNAT on the serverside connections you can use the default OneConnect profile with a /0 source mask. If you're not using SNAT create a custom OneConnect profile with a /32 source mask. This ensures clients are correctly persisted to the past pool member each request.
Even if you're not using a layer 7 persistence method, consider using OneConnect anyhow as it will lower the number of TMM to pool connections.
Use a LAN optimized TCP profile with a custom idle timeout set lower than the default of 300 seconds. HTTP responses shouldn't normally take anywhere near 5 minutes to come back from the pool member.
Use cookie persistence if you can instead of source address or another type of persistence. It's simple and generally just works. It's also uses less memory than a persistence method which requires storing persistence records within TMM.
Here are a few related SOLs:
sol12272: Overview of virtual server types for BIG-IP version 10.x
http://support.f5.com/kb/en-us/solutions/public/12000/200/sol12272.html
sol4707: Choosing appropriate profiles for HTTP traffic
http://support.f5.com/kb/en-us/solutions/public/4000/700/sol4707.html
sol7406: Overview of the tcp-lan-optimized profile
http://support.f5.com/kb/en-us/solutions/public/7000/400/sol7406.html
Aaron