It's possible that additional work has been done on this topic since the Newhall paper you linked, but if so, it does not cite that paper.
There is a non-peer-reviewed paper that also allows fitting acceleration data, as well, but acceleration is not used in the JPL ephemerides.
There are probably pieces of software in various places for producing Chebyshev fits of functions. For example, Numerical Recipes includes an algorithm which works when the original function is available. However, for fitting Chebyshev polynomials to coordinates and velocities at discrete times, the Newhall algorithm is my recommendation for several reasons:
If you only fit positions, but not velocities, the Chebyshev representation will not be faithful to actual spacecraft or planetary trajectories; it will only be correct at the times used for the fit and only for position.
Even at the points used for the fit, your error will be high.
Your terminal points (first and last time) will not be sufficiently constrained, so if you represent a trajectory using multiple Chebyshev polynomials, there will be discontinuities.
The Newhall algorithm addresses these problems. I don't see anything better out there, and I've looked around a bit.
As Dave Hammen mentions, the Newhall paper does include a velocity weighting of 0.4, which they say they arrived at experimentally, though they provide no data.
It is also beneficial, but not necessary, to use points which are arbitrarily spaced in specific circumstances. That is, if we fit a $n$-degree polynomial at the $n+1$ roots of the $n+1$ degree Chebyshev, we minimize the upper bound on the error; see Theorem 16.10 at the link. The roots of a degree $n+1$ Chebyshev polynomial are given by
$$t_i = \cos\left(\frac{2i+1}{2n+2}\pi\right)\,\text{ for } i = 0,\dots,n\,\text{.}$$
(Of course, $t$ needs to be scaled from $[-1,1]$ to your full ephemeris time interval $[a,b]$.)
The Newhall paper seems to use points which are equally spaced. According to the equation above, equally spaced points are not optimal, however. Indeed, if you're using the Newhall method, you should fit to the roots (the equation above) and, I think, to the position extrema as well (I have not proved this to my satisfaction yet). Including the extrema ought to also give you the terminal points.
The good news is it ought to only be two hundred or so lines of Python code (based on my own implementation). Might take you about a day to implement.