Confidence intervals
Your estimate is the maximum likelihood of the binomial (/multinomial) distribution. You may be interested to also calculate confidence intervals (otherwise I suggest that you do get interested in this).
In the case of the binomial distribution (which I believe you could use to simplify your case with a multinomial distribution), there are many ways to estimate these intervals, but the estimates do often not work well for low rates (due to the normal approximation you get negative values, or zero size intevrals).
Clopper Pearson intervals
One interval that works well and is easy to understand is the Clopper-Pearson interval, which sets the limits $p_{upper}$ and $p_{lower}$, given an observation $k$ in $n$ trials, such that, for confidence $\alpha$, the CFD at value k is $\alpha/2$ for the binomial distribution $B(n,p_{upper})$ and $1-\alpha/2$ for the binomial distribution $B(n,p_{lower})$.
This means for a given true value of $p$ (and the assumption that we can apply the model of a binomial distribution) then the limits will be correct at least $\alpha$ percent of the time. Since $\alpha/2$ of the time we draw a value from the portion of the CFD lower than $\alpha/2$ (making our p_{upper} estimate wrong), and $\alpha/2$ of the time we draw a value from the portion of the CFD higher than $1-\alpha/2$ (making our p_{lower} estimate wrong).
Graphical view and explanation
I reproduce the figure 3 from the referenced article by Clopper and Pearson for your case of 100 trials and a confidence interval of 95%, as well as a comparison with 1000 trials.
From the below image you should see how the Clopper-Pearson intervals work. By calculating the intervals based on hypothetical p-values, you assure that for any hypothetical p-value you never make more mistakes than $100-\alpha$% of the time.

A comparison between n=100 and n=1000, since your problem has very bad limits.

Change of concept
The above explanation is nice and all, and you could expand it a bit by using different confidence interval estimators or using improvements with prior probabilities.
Yet in your case of low number of observations it will not matter so much. Your problem has very bad limits. Differences between a few more or less occurrences do not really make a large difference. And also differences between p's won't be observed. Your 95% intervals are for the first ten k:
$$\begin{array}\\
k & p_{lower} & p_{MLE} & p_{upper} \\
0 & 0.0000 & 0.0100 & 0.0362 \\
1 & 0.0003 & 0.0200 & 0.0545 \\
2 & 0.0024 & 0.0300 & 0.0704 \\
3 & 0.0062 & 0.0400 & 0.0852 \\
4 & 0.0110 & 0.0500 & 0.0993 \\
5 & 0.0164 & 0.0600 & 0.1128 \\
6 & 0.0223 & 0.0700 & 0.1260 \\
7 & 0.0286 & 0.0800 & 0.1289 \\
8 & 0.0352 & 0.0900 & 0.1516 \\
9 & 0.0420 & 0.1000 & 0.1640
\end{array}$$
Say, differences of p<0.01 won't be noticeable at all, and for p>0.01 the precision is still very bad. So, only if you expect a few of your symbols to have very high probability of occurrence p>>0.01, only then your 100 observations might be able to help you with detecting and quantifying those. --- In that case you should note that the binomial case is different from the multinomial case. A multinomial with thousand p=0.001 will more likely give you, for some symbol, a k>1 compared to a binomial, with a single p=0.001. (in fact the probability for none of the symbols turning up a two or more times in 100 draws is very small 0.999 x 0.998 x ... x 0.902 x 0.901 ~ 0.6%)
So. I'd say that puzzling whether you can improve your estimate is not very useful and you should figure out how you can improve your experiment, or maybe whether you can be satisfied with testing different concepts (e.g. occurrence of groups/categories of symbols), rather than analyzing thousand badly estimated $\hat{p}_i$.