Still haven't figured out particles, but for water ripples, I found a technique that works well.
I have a separate render layer devoted to rendering a ripple height map, and a camera which renders only that layer. In my water shader, I use the result of this render as a bump map. It isn't limited by size or resolution, and multiple water meshes can use the same ripple map. Performance is questionable, though...