The polyline decimation algorithm is, as you point out, a very simple approach, so the community would welcome any improvements. If I had to write another incarnation of the algorithm, I’d likely consider following the lead of vtkQuadricDecimation with quadric error measures (mesh) algorithm, which accumulates error as the decimation process proceeds. I am unfamiliar with Barequet et al, but that sounds interesting as well.