Flickering is generally from two causes (and sometimes both).
First - Pixel voltage toward the end of the string is too low.
Second - Data signal degraded by too much distance between pixels.
The first problem is generally fixed with power injection. Measuring V+ at the end of a string should be done when all the pixels are White and at the max expected brightness. This might just be 75% if your controller allows you to limit it. For 12v pixels, most will be fine if end voltage stays above 10v. For 5v pixels, it should still be 4v or higher. When pixels are OFF, voltage at the end will be essentially equal to voltage In, so not a good measure.
The second problem introduces itself either between the Controller and First Pixel or between elements where Model #1 has a long cable going to Model #2. The data signal (technically called SPI ) is a DC square wave with the pixel data encoded in it. It is going over a single wire, normally with no shielding to maintain data integrity. Now, the Data signal from a Controller is pretty strong and clean, but that only lasts until it reaches "first pixel". After that, you are relying on each 35cent pixel to regenerate a strong, clean signal. Doesn't happen.

It is always weaker and the square waves are not so clean, so it will degrade quickly (some won't even go 24 inches).
Fixes for bad/weak data are: Better wiring, like using CAT5, because it offers some shielding or using an Data Amplifier like the F-Amp or using Pixels at normal distances but not having them "light up" (called Null Pixels).