I gather that the large source of error you are worried about is the ability of the experimenter to accurately hit the start/stop button on the stopwatch at the start/stop of the ball's journey down the ramp.
What is the approximate magnitude of error we'd expect?
Before I directly answer your question, let's estimate how bad the experimental error will be (reasonably close, without actually doing the experiment).
Typical human reaction time is 2-3 tenths of a second, somewhat increasing with age. I would expect the error to be smaller at the top of the ramp (easier to synchronize with "3..2..1..go!"). I would also expect the experimenter to be able to somewhat anticipate when the ball will reach the end of the ramp (because they can see the ball rolling towards it), and these timings may even somewhat cancel each other out. So for argument's sake (not to be used as an actual estimate; that's what science is for), let's be optimistic and say the total amount of reaction error would be around 100ms. For a typical length of ramp used in such an experiment, ball bearing travel times would be on the order of 1 second (1000ms).
Thus, your reaction error is:
$\frac{val_{exp} - val_{known}}{val_{known}} = \frac{(1000+100)ms - 1000ms}{1000ms} = 10\%$
Note: When applied to a calculation of g, the above error will actually be worse, on the order of $g \pm 17\%$, left as an exercise to the reader to verify.
So, yes, a 10% error is far from your desired 1%. Can we do better?
Use a longer ramp or a shallower incline
You'd think you could just use a longer ramp or a shallower incline. Unfortunately, to get < 1% error with a 100ms (total) error, you need a 10 second roll, the length of ramp required with a shallow ($10^{\circ}$) incline is given by:
$s = v_{i}t + \frac{1}2at^2$ but since $v_{i} = 0$,
$s = \frac{1}2at^2$
And we know $t = 10 sec$ and $a = g * \sin \theta = 9.81m/s^2 * \sin 10^{\circ} = 1.703m/s^2$
$s = 85.15 m$
I imagine that ramp length would have several practical limitations.
Can we do better?
Unfortunately, not much. Given the constraints in the question regarding "ordinary" measurements with rulers and stopwatches, a typical classroom experiment of this type will have a fairly large error. Using many trials and some statistical analysis (if this is a senior high school or university-level experiment) to get a confidence interval for your experimental value might improve the analysis, but not the actual error. Put another way, no math is capable of going back in time and pushing that stopwatch button for the experimenter. Plus, you asked how to improve the experiment, not the analysis.
However, as a teaching tool, that error is actually a rather valuable part of the experiment. It's one of those rare experiments where the value you're trying to measure (g) is very well known, and the sources of error are at the same time significant, but also easy to imagine, and not too difficult to estimate.
Remember, science isn't just about results. It's about questions. (Right, well, tell that to my grant application reviewers.)
The motion of the box along the slope is dictated by two forces which act parallel to the slope.
The component of the weight of the box down the slope which acts all the time and the force up the slope due to the spring which acts only when the box is in contact with the spring.
As long as there is a net force down the slope the speed of the box will increase.
Once that net force is up the slope the box will slow down .
So at some stage in the motion of the box the net force on the box along the slope will be zero, the acceleration of the box will be zero, the box will be moving with maximum speed.
So make the component of weight down the slope equal in magnitude to the magnitude of the force up the slope due to the spring being compressed an amount $x_o$.
At this point the box has moved $d+x_o$ along the slope and so you can now use energy conservation to find the maximum speed of the box.
Best Answer
If you are limiting the takeoff speed to prevent it bottoming out, then I suggest you lower the ramp. $45^\circ$ gives optimal range for a given takeoff speed (ignoring friction), but only if you don't care what the vertical component of the velocity is on landing.
At $30\: \mathrm{mph}$, with a $45^\circ$ jump, you say it doesn't bottom out. The vertical component of the velocity on landing has approximately the same magnitude as on take off (air resistance losses), which would be $30 \; \cos(45^\circ)$ = about $26\: \mathrm{mph}$.
To maximise the range, then, we need to keep this vertical component ($v_y = 26\: \mathrm{mph}$), whilst letting the overall speed ($v$) increase to $45\: \mathrm{mph}$.
$v^2 = v_x^2 + v_y^2$
$v_x^2 = v^2 - v_y^2 = 45^2 - 26^2 = 1349$
$v_x = \sqrt{1349} = 36.7 \mathrm{mph} $
So we can calculate the angle from the $x$ and $y$ components of the velocity:
$\tan(\theta) = v_y / v_x = 26 / 36.7 = 0.71$
$\theta = \arctan(\theta) = \arctan(0.71) = 35^{\circ}$
So based on that information, try $35^\circ$, with a speed at the ramp of $45\: \mathrm{mph}$.