We present improved methods for fitting the point-spread-function (PSF) of the TESS spacecraft in order to generate optimally detrended light curves from stellar targets. Current PSF-fitting routines for TESS have limited effectiveness for targets in crowded stellar fields, and due to the spacecraft’s large pixel size relative to the angular size of its targets, models such as sums of Gaussians can occasionally underfit the true PSF. Current routines also optimize over each time step separately, which is computationally expensive and does not guarantee coherence in the corrected light curve. Rather than fitting both PSF and flux to each full-frame image over time in turn, we first fit PSFs time-independently, then optimize over the flux time-series. On-silicon star positions are first estimated to the subpixel level, with our method effectively finding the best-fit sum of Gaussians. From this, we fit more complicated analytic PSF models, based on fitting aberrations to Zernike polynomials and using more free parameters. Using this PSF model, the best-fit light curve is generated by optimizing over autoregressive/moving-average filters applied to the aperture light curve. The use of more sophisticated optimization engines also becomes computationally feasible due to the separation of optimization problems. This makes globally optimal solutions for each individual step more easily attainable. These methods are implemented in and build on existing functionality in the “eleanor” Python package.