The reason why this seems to be true for lots of cases is that it is true when the period of the fraction is even (hence different from 3) and $p$ is coprime with $10$ (hence different from $2$ or $5$). This is a known result which follows from Fermat's little theorem and actually the fraction can have any numerator $r$, since it doesn't affect the result. Here is the proof:

For a prime $p$ coprime with $10$ Fermat's theorem guarantees the existence of an integer $c$ such that $10^{p-1}-1=cp$. Hence, supposing the period is even, say, $2t$, one has:

$$\frac{r}{p}=\frac{rc}{10^{2t}-1}$$

Assume wlog that $r < p$. The right hand side is the sum of a geometric series showing that, expressed in base $10$, the period is exactly $rc$. Let $M$ and $N$ be the two halves of the block of digits. It is enough to prove that $M+N=10^t-1$, since then the sum of the digits of the period (which is precisely $M+N$) will be exactly $9t$ (as $10^t-1$ consists of $t$ nines in base $10$). Now, we had $(10^{t}-1)(10^{t}+1)=cp$, and it is easy to see that $p$ does not divide $10^{t}-1$ (otherwise, the number of digits in the period cannot be $2t$, since it is always the smallest integer $k$ such that $p$ divides $10^k-1$). Hence, $p$ divides $10^k+1$. The equation displayed above now implies:

$$\frac{r}{p}=\frac{M.10^t+N}{(10^{t}-1)(10^{t}+1)}$$

and so:

$$\frac{r(10^{t}+1)}{p}=M+\frac{M+N}{10^t-1}$$

while $M, N \leq 10^t-1$. Since the left hand side is an integer, so is the fraction on the right hand side, and the previous inequalities proves that $M+N$ is at most $2(10^t-1)$, so the integer in question is $1$ or $2$. But it cannot be $2$, since otherwise the period would consists only of nines, which is absurd. That finishes the proof.

The same idea of the proof can be adapted to show a similar statement for a general base $b$, in which case one just has to choose a prime $p$ coprime with $b$ to be able to use Fermat's theorem.