Looking at your equation $f(x)=(g \ast g')(x)$ relating the densities, wouldn't a Fourier transform do the job? Taking Fourier on both sides, we get $\cal{F}f (\omega) = \cal{F}g(\omega) \cal{F}g'(\omega)$ and ${\cal F}g'(\omega)=1/c{\cal F}g(\omega/c)$. Now I am unsure since I don't understand the problem. Is $c$ known to you? Also, I am unclear as to whether $g$ is a discrete or continuous density. If discrete,  how to make sense of $g(xc)$ for any $0<c<1$? I would agree with Thomas that dividing by $c$ makes more sense here, provided that $D$ is defined appropriately (i.e. range of possible values of $X$) and given the model equation.

Edited to answer Jochen comment:

the densities are positive, so we can take logarithms on both sides to obtain, using your notation ($\hat{f}$ for Fourier of $f$), and ignoring still the fact that it should be divided by $c$, not multiplied):
$$\log(c) \log \hat{f}(x) = \log(\hat{g}(x))+\log(\hat{g}(x/c))$$ where $x \in D$ a discrete set. This is a linear system of equations that can be solved efficiently.