How should a moving average handle missing data points?
As a general impression, regression would work better in automatically fitting the missing points rather than a moving average filter you have chosen. 

If you use an AR (auto regressive filter) or ARMA filter - you can have a predicted value of a sample output based on past inputs. 

$$
\hat X[i] = \sum { \omega_{k}*x[i-1-k]} + \eta
$$

Where $\hat X[i]$ is the predicted value. 

Specifically in your case, say you know the weight of the person has a specific range $X_{max}, X_{min}$. Now if you don't have $x[i-1]$ value - apply two different substitutions - one with Min and one with Max and based on the available model you will have two extreme case results for $\hat X[i]$ and you can choose something between them. 

There are various other alternatives - you can keep 

$$\hat X[i] = X[i-1]$$ or
$$\hat X[i] = \text {Long term sample average of X }$$

Essentially it is a game of prediction of that said value and continue using it as a signal. Of course, prediction won't be same as an original sample but that't the price you pay for not having data.