It would be pretty useful if you would describe particularly what you're doing.
This is because it can be easy to use more context to design more efficient DP algorithms.
Consider a database $D$ where each user has some number in $[k]$ associated with them, and you want to return a differentially private estimate of:
$$p_k = \Pr_{x\in D}[x = k]$$
You're right that without more information, $p_k\in[0,1]$, so you'd have to add a ton of laplacian noise to each $p_k$, an obvious problem.
This is where we can use special knowledge about the problem we're trying to solve --- since we're assuming each user has a single number associated with them, their inclusion in the database can only impact a single $p_k$.
Specifically, we can write:
$$p_k = \frac{|\mathsf{count}_k(D)|}{n}$$
where $\mathsf{count}_k(D) = \{x\in D \mid x = k \}$.
Now, count queries themselves have sensitivity 1, so from this perspective $p_k$ actually has sensitivity $\frac{1}{n}$.
Since the inclusion of a user can only impact a single $p_k$, the entire sensitivity of the query will be $1/n$ (instead of $1$ like we previously thought).
This is to say that the mechanism the probabilities are generated from is quite important, because it's precisely understanding this mechanism that allows you to get tighter bounds on the sensitivity.
Without this understanding you can only bound things by the worst-case behavior among all mechanisms with the same codomain, which you've noticed can be quite bad in general.