Ice and other speed/trick jumps will require something more than waypoints. A few ideas I've had:
1) Build paths of recorded player input. Bots could use normal pathfinding to reach the start of these paths, then replay the exact input players used to reach different locations at a fast speed.
Problems: Player input can be very erratic and weird if they're aiming at/dodging other players. Looks dumb when there's nothing there. Getting to the exact start point can be difficult. Being off just slightly can cause the replayed input to miss necessary ramps/ledges to complete the path.
2) Create a representation of the world -- something like a navmesh or Quake3 AAS file -- optimized for path finding. Programatically figure out the most optimal way to navigate the space.
Potential problems: Figuring out the math to calculate the optimal paths could be very difficult. Computing these paths could use a lot of CPU, impacting the performance of the server (or game framerate, playing alone with bots).
3) Create a representation of the world and use machine learning (things like neural nets and genetic algorithms) to figure out optimal paths.
Potential problems: Machine learning is a big unknown -- would probably take a while to research and implement, and could fail miserably. Could be resource intensive.
4) Some kind of player path/machine learning hybrid. Instead of recording and playing back exact inputs, record a path of player positions and velocities, then have a learning algorithm try to match these paths.
Potential problems: Again, the machine learning aspect is a big unknown, still, and needs some time to be researched.
On a progress note, I've been testing/fixing some minor things to make sure it's safely releasable, like making sure players connecting when the server is full of bots doesn't do weird stuff like treat the player as a bot. Even if it's not in a very complete state, I really want to put out another release soon, so I can start making more frequent/minor updates.