Root raised cosine pulse shaping peak value
You can derive an upper bound for the peak value of the output signal depending on the filter's impulse response. The output is given by

$$y[n]=\sum_{k=0}^{N-1}h[k]x[n-k]\tag{1}$$

where $h[k]$ is the length $N$ impulse response, and $x[k]$ is the input signal. From $(1)$ we have

$$|y[n]|=\left|\sum_{k=0}^{N-1}h[k]x[n-k]\right|\le\sum_{k=0}^{N-1}|h[k]||x[n-k]|\le |x[n]|_{\text{max}}\sum_{k=0}^{N-1}|h[k]|\tag{2}$$

Since in your case $|x[n]|_{\text{max}}=1$, the magnitude of the peak value of the output signal is guaranteed to be smaller than the sum of the absolute value of all filter coefficients.

However, since your input signal is upsampled by a factor $L$ (i.e., it has $L-1$ zeros between two signal values), we can come up with an improved (i.e., tighter) bound:

$$|y[n]|\le\max_{l=0,1,\ldots L-1}\sum_{k=0}^{\lfloor \frac{N-1}{L}\rfloor}|h[l+kL]|$$

because in the sums $(1)$ and $(2)$ only every $L^{th}$ filter coefficient is multiplied by a non-zero input value.

The following Matlab/Octave script shows the computation of the bound:


h = randn(50,1);    % some impulse response
x = randi([-1,1],1,20); % input signal
L = 10;         % interpolation factor
x = [x;zeros(L-1,20)]; x=x(:);  % interpolate x
y = filter(h,1,x);  % compute output signal
p = max(abs(y));    % peak value

% compute bound
b = zeros(L,1);
for i = 1:L, b(i) = sum(abs(h(i:L:end))); end
b = max(b);

% show peak value and bound
[p,b]


A few runs of the script show that the bound is pretty tight.