Good lecture. More people could benefit from it. I'm just starting to tinker with GPX files, and will borrow your techniques. Your original speed elevation data were so spiky, do you think they had been Kalman filtered inside your GPS? (I haven't used Kalman filters since the 70's. If only we'd had the interactive tools that are available today!)
Why not consider to exchange python with the c programming language to get a performance improvement of a factor of at least 100? You can use this improvement to use the Kalman filter and approximate to lines in real time.