Currently I end up just doing a lot of the graphics in Inkscape, splitting the layers into multiple SVG files (one per layer) using a script I found, and then assembling it together in Reveal.js using fragments. This technique I used most in one of my latest talks: https://sinusoid.es/talks/immer-meetup17
Now I wonder if maybe I just want to use something like Keynote... but I only use GNU/Linux and try to live in a mostly libre environment. Maybe Impress is good enough?