Concise statement
For a reciprocal of a polynomial, $f = \frac{1}{p}$, I want to construct a sequence $(c_n)_{n=0}^\infty$ such that for all $N\ge 0$ $$f(k)k! = \sum_{n=0}^{N-1} c_n(k-n)! + O((k-N)!). $$ How can I rigorously calculate $(c_n)$? Bonus points for options which generalize to rational functions $f$, or can practically implemented as computer program.
Verbose statement + context
In a paper I am writing, I prove a lower bound of the form: $$ L_k\ge\left(1+\frac{1}{k}+\frac{1}{k(k-1)}+\frac{1}{(k-1)(k(k-1)(k-2)-k)}\right)k!+O(1).$$ In previous literature, lower bounds have always been expressed as a sum of factorials. (e.g. $L_k \ge k!+(k-1)!+(k-2)!+O(1)$ and $L_k \ge k!+(k-1)!+O(1)$ were the previously recorded bounds)
So obviously, I wished to express my result in this format, for comparison. Of course, that begs the question, for a reciprocal of a polynomial, $f = \frac{1}{p}$, can I construct a sequence $(c_n)_{n=0}^\infty$ such that for all $N\ge 0$ $$f(k)k! = \sum_{n=0}^{N-1} c_n(k-n)! + O((k-N)!). $$
Through some dirty approximations, I got the following sequence in my case$$c_0,c_1,\dots = 0,0,0,0,1,-2,7,-32,179,-1182,8993,-77440,744425,-7901410,\dots$$ where $f = \frac{1}{(k-1)(k(k-1)(k-2)-k)}$. Checking Laurent expansions at infinity with Wolfram Alpha, this seems to be correct. I saw $f -\sum_{n=0}^N c_n\frac{1}{\prod_{i=0}^n (k-n)}$ always had the right order of magnitude.
Nevertheless, my methods were quite unsound. I was using a Python program to do polynomial division on polynomials of the form $P_m(x):=\prod_{i=0}^m (x-i)$, and eyeballing convergence taking $m$ to be large. Rinse and repeat to get each term.
Presumably $(c_n)$ can be calculated in a better, more rigorous way. My question is how. Bonus points if the method easily extends to handle general rational functions, where $f = p/q$ with both the numerator and denominator being polynomials. I am also interested in implementing such a method into a program.