I think I'll try again tomorrow morning and see what I missed.
Also, there's another useful place you can return to that isn't in libc.
ASLR actually makes ret2libc much more difficult to pull off (esp. on 64-bit platforms), because the location of libc.so itself is randomized.