I've implemented a game loop similar to that in Glenn Fiedler's Fix Your Timestep! article. I have an update step running at 50Hz and a render step running at 60Hz (monitor refresh rate). To keep things smooth, the update step produces snapshots that the render step can interpolate between with a constant latency of 20ms. These snapshots contain all the information needed for the rendering step to build skeletons and other transformations, but not anything involving physics, AI, or networking.
Actually interpolating between the snapshots is pretty simple, but something I've forgot about until now is how to deal with renderables being created or destroyed. What would be an elegant method to go about interpolating between snapshots when a renderable may only exist in one of them?