How Can I Resample a Signal with an Arbitrary Factor (For Example - 128000Hz to 16000.1Hz) in MATLAB?
There are a couple of ways that you can do it.  The first is with resample, but it is a multi-step process.  First, you have to figure out which interpolation and decimation factors will get you the sample rate you want.

[n, k] = rat(16000.1 / 128000);


That gets you an interpolation factor of 20000 and a decimation factor of 159999.  You factor those to break them up into smaller chunks.

nFactors = factor(n)
kFactors = factor(k)


It turns out that n factors to $2^5 * 5^4$ and k factors to $3 * 7 * 19 * 401$.  All of those are doable, though the decimation by 401 will not have great filtering properties.  Anyway, if you resample in stages you can get the final sample rate you want.

The other way to do it is polynomial interpolation.  Essentially you model your signal as a polynomial through curve fitting techniques, and then you can simply feed in the time values that you want and out will pop the signal values.  This technique can be very effective, but modelling the signal well is a bit of an art.  In particular you don't want to overfit.