then we need IMPROVED prediction.

The straight-line thing is really just interpolation, which is different than prediction.
Interpolation is: My client FPS is 40, but I'm only getting 20 updates/sec from the server. So the client calculates the "in-between" frames and puts moving objects where they would go if they continued at the same rate they were moving.
This is not what I'm talking about with CSP.
CSP involves having the same basic physics engine on the client that is on the server. The client would process the same information the server is processing and update the display as fast as the computer could handle it. In fact, there's no reason that the client couldn't calculate its own physics and tell the server where the client's avatar is and what it's doing - exactly the opposite of what's happening right now.
This would mean that the client would also have to process LSL scripts in parallel with the server... thinking about this, this would be a good thing for performance. Attachments and vehicle scripts would always run as fast as possible, and they would not affect anybody else's performance.
This would also improve server performance: with no need to process physics, time dialation would basically go away. The only bottleneck then would be bandwidth, and if all the sims already share the same bandwidth, we could probably fit a few hundred avatars on one sim, instead of only 30 or so.
The "trigger" to move physics and script execution to the client could be the attach event or the take controls event.. either function could move LSL execution and physics processing to the client.