If the session ID is in the URL then it should be pretty easy to extract it using iRules.
As for using odd vs even, you shouldn't have to worry about that. Let the load balancer just pick a server using its own load balancing algorithms, and then use the session ID to set the persistence.
Try setting up a persistence profile using universal persistence and then have an iRule that pulls out the session ID. You'd probably want to have an iRule similar to the ASP session persistence (
Click here) but grabbing the session ID from the URL query string. Unfortunately I don't know how you'd get the session ID from the response, and you'd need to do that to make sure you associate the load balancing decision made initially with the session ID.