The particle method looks good, I expect the artifacts are down to matching the emission rate to the movement update rate. If a particle isn't emitted on a frame when the object moves then it appears to sit still for the frame ( or sometimes move backwards ). These sort of time sync issues are a problem in most solutions unfortunately, due to fact we have to use discreet time steps. The drawing canvas one has obvious gaps when it moves more on a frame ( either due to a change in speed or a long tick ) you can technically fill these gaps by interpolating the position change and painting multiple times per tick.
I'm not sure how feasible an effect would be, you need to keep track of the data somewhere. Either as a texture of the previous frame or the location of points. The texture variant would basically be what drawing canvas is doing ( although the fade could be calculated on a per pixel basis, preventing the ghosting issue ). The latter requires more information than effects have I believe.
That looks like a pretty solid trail system, but I believe the OP is searching for a technique which doesn't involve creating many instances per trail.