Is there a algorithm for detecting bursts in signal?
You want to build a burst detector. 

First of all please notice that you can't do magic so you will always have false alarms and miss detections.

We'll suppose that you have a 1-D signal and that what you call a burst is a short peak in signal intensity, we'll also suppose that your burst is very close to 1 point in duration.
If your "burst" is in fact a short deterministic signal whose shape is known, you'll want to first use a matched filter, if your burst is a short random signal whose second order moment is known, you'll want to first use a stochastic matched filter. If you are neither in these cases, you'll need to use more advanced and/or more had-hoc algorithm.

Now we have the 1 point long burst, or signal, we want to detect, it is burried in some random noise.

Usualy people go for ad hoc approach, he main one being the one you stated.
A more rigorous one is to use the neyman pearson lemma, that will allow you to calculate a thresold, but you need to know both the signal and noise probability densities.

The main problem is to estimate the signal and noise pdf, or equivalently under gaussian hypothesis, their mean and covariance. The main difficulties arrising from the fact that both aren't stationary and from the presence of signal biasing your estimation of noise's pdf, mean, variance etc ..., you'll want to go for robust estimator like median and median absolute deviation.