What image-processing techniques are ideal for this particular shift/scale invariant template matching?
Broadly speaking there are two primary approaches to solving this problem: 

a. template matching or
b. matching with a parameterized model. 

Personally, given the simplicity of the model, i would prefer the second approach for this problem.

Step 1: Identify the ping blobs  

As a first step, extract the "Boxes" - essentially the yellow/blue squares. A simplest method here could be to just threshold the image. There doesn't seem to be much variations in the background except that as the noise increases it tends to be quite similar to the pings. Hence, the threshold can be global across the image - and i think you will be able to get a decent threshold that would work across the images. The threshold, however, should be smart so you can use something like Otsu's method. See this and this for more reference. 

Improvement of the blocks  

One of the good thing you can do to remove spurious points which looks similar to ping foreground where as some pixels inside the pings are also blue. You need here a morphological operation called "Opening". Here is one of the reference from HIPR. These type of operations requires smart shape that helps preserving similar shapes and removing others. In your case you can choose horizontal lines.  By the end of this, you have background and foreground pixels neatly separating the pings without touching each other. 

Step 2: Mark/Register blocks  

Now that you have got the cleanest possible blobs, time to mark them as 1,2,3,4 or A,B,C,D etc. This is usually accomplished by what is called some simple algorithm. Run through each pixel and if it is touching with any marked region, and is also foreground then assign it to that segment else create a new one. If you happen to find more than 4 important segments you need to choose the most relevant ones. Apply some heuristic here rather than any theoretical algorithm. 

Step 3: Modeling of parameters  

Now, once we get most likely top 4 candidates of the 4 corresponding pings, you can identify the bounding boxes - essentially the top left and bottom right corners (or left and right most pixels, as well as top and bottom rows of the blob). Find the bounding box, you can fined centroid the of each ping box.  

Hence you can have four centroids $C_i \text{ where } i \in \{1,2,3,4\}$
Based on the description, the absolute location of $C_1$ can be arbitrary. However, following to $C_1$, the other centroids should be within certain range, 

hence inter centroid distances can now be calculated: 

$$

C_{1i}[x,y] = \{ C_1[x] - C_i[x],  C_1[y] - C_i[y] \}
 
$$

The other critical parameter is the length of the pings - which is $L_i \text{ where } i \in \{1,2,3,4\}$ 

Essentially you have 8 parameter vecoter: 

$$
1.    \{ C_1[x],C_1[y] \}  \\  
2..4  C_{1i}[x,y]  \\
5..8  L_i  \\
$$

Step 4: Classification
In the last step, now we need to have classification whether there is a ping-pattern yes or no. 

For something like this, you can have a nice Bayesian classifier framework. 

There are two Hypothesis you have 


  H0 : The ping pattern exist.
  H1 : The ping pattern doesn't exist


Now, i am putting only 1 parameter $C_{1,i}[x]$ case here but you can extend this. 

First of you study a lot of images where you know they belong to the image. Now, you can plot various histograms or apply some method of density estimation method. Read Pattern Classification by Duda Hart.  

For simplicity you found that in cases where pings are present, the density function of parameter $C_{1,i}[x]$ is Gaussian with $ \mu = 20, \sigma = .1$ The sigma being small here could imply that there cannot be so much variations from the original. 

This is actually conditional probability of $C_{1,i}$ given $H0$ is true. So you have values $P[ C_{1,i}[x] | H0 ]$

Now, from the test data 

$P[ H0 | C_{1,i}[x] =x_1]$ is = given the reading of $C_1[x]$ being $x_1$, what is the probability of $H0$ ?

Hence, you can compute 

$$

P[ H0 \space | C_{1,i}[x] ] = { P[ C_{1,i}[x] | H0 ] * P[H0] \over {P[ C_{1,i}[x]]  } }

$$

You need to combine this expression for the vector expression and need to fill in a lot of effort for exactly putting the parameter estimation to be done. But i am leaving you with basic approach here. 

Please do your own math, this will be lengthy, but should be still quite intuitive.

Once, you combine expression, if $P[H0 | \text{all parameters}] &gt; 1/2 $ then the ping pattern exists. 

EDIT
Since you are already defining the specific criteria of 110 +/- 5 pixels, the last step can be simpler. You probably don't quite need to calculate all these probabilities if your classification criteria is fixed.