Density of P-complete languages
I don't know what the density of common P-complete problems is, but here is a padding argument that shows how to lower any density below $1/n$:

Take your favorite P-complete language $L_n \subseteq \{0,1\}^n$. This language has some density $d(n) \in \omega(1/n)$. Now define $L&#39;_{n + m} = \{x0^m | x \in L_n\}$. In general, $m$ will be some function of $n$, so this might not define $L&#39;$ for all sizes, since we are worried only about the upper density, just make $L&#39;_k = \emptyset$ if $k \neq n + m$. What is the upper density of $L&#39;$? Well, we have 

\[
d'(n + m) = \frac{|L'_{n + m}|}{2^{n + m}} = \frac{|L_n|}{2^{n + m}} \leq \frac{d(n)}{2^m}
\] 

Now lets use LOG-reductions to build a machine $M$ for $L$ using a machine $M&#39;$ for $L&#39;$. Well, if you are given an input $x$ then simply copy it one bit at a time to the query tape (also use a counter to count what $n$ is), then use a second counter to count upto $m(n)$, adding one every time you add a zero to the query tape (to have log space, we need $m(n) \in poly(n)$ and easily computable). Then query and return the output as your answer.

If we want to be sure we are smaller than $1/n$ then just pick $m(n) = n$, and then we will have $d&#39;(2n) \leq d(n)/2^n \in O(1/n)$.