  We present a principal component analysis method which tracks and compensates
for short-timescale variability in pulsar profiles, with a goal of improving
pulsar timing precision. We couple this with a fast likelihood technique for
determining pulse time of arrival, marginalizing over the principal component
amplitudes. This allows accurate estimation of timing errors in the presence of
pulsar variability.
  We apply the algorithm to the slow pulsar PSR J2139+0040 using an archived
set of untargeted raster-scan observations at arbitrary epochs across four
years, obtaining an improved timing solution. The method permits accurate
pulsar timing in data sets with short contiguous on-source observations,
opening opportunities for commensality between pulsar timing and mapping
surveys.
