Suppose $u$ is a smooth solution to $u_t -\Delta u +c(t,x)u =0$ and $u(x,0)=g(x)\ge 0$, where $x\in D\subset \mathbb{R}^n$ is smooth with zero boundary conditions. Assume $g$ is smooth and $c$ is smooth and bounded by $M$. We want to show $u(x,t)\ge 0$ for all $t\ge 0$ and $x\in D$.
In the normal heat equation, I know it follows from the maximum principle, so the idea here I think is to let $v(x,t)=e^{at}u(x,t)$ for some constant $a$; indeed, this was given as a hint. Initially, I thought letting $a=-M$ would give us that $v$ is a subsolution, and hence the result follows. But I now see that the inequality $$v_t -\Delta v= e^{-Mt}(u_t -\Delta u -Mu) \le e^{-Mt}(u_t-\Delta u+cu)=0$$ I had used doesn't work because it actually assumes $u$ is positive to begin with. So now I'm a bit stuck. Any suggestions?
You basically have the right idea. Set $v = e^{at} u$ and compute
$$v_t - \Delta v = e^{at}(u_t - \Delta u+ au) = e^{at}(a-c)u= (a-c)v.$$
Then choose $a=-M$ like you said, so that $a-c \leq -M+M = 0$. Then use the usual maximum principle for $v$.
EDIT: Let me add a few lines in case you are not familiar with maximum principle arguments. Let's actually set $a=-M-\epsilon$ for $\epsilon>0$. Then
$$v_t - \Delta v + (c+M+\epsilon)v = 0.$$
If the minimum of $v$ over $\bar{D}\times [0,T]$ is attained on the sides $\partial D\times [0,T]$ or base $D\times \{t=0\}$ then $v\geq 0$ and we are done. Hence we may assume the minimum occurs at some $(x,t) \in D \times (0,T]$. The necessary conditions for a maximum are $v_t(x,t) \leq 0$ and $\Delta v(x,t) \geq 0$. Hence
$$0=v_t(x,t) - \Delta v(x,t) + (c(x,t)+M+\epsilon)v(x,t) \leq 0 + (c(x,t)+M+\epsilon)v(x,t).$$
Therefore $(c+M+\epsilon)v(x,t)\geq 0$. Since $c(x,t)+M+\epsilon>0$ we must have $v(x,t) \geq 0$. So the minimum of $v$ over $\bar{D}\times [0,T]$ is non-negative, hence $v\geq 0$ everywhere.