"Entschädigen" and "warten" are different types of verbs. "Entschädigen" is transitive and always demands an accusative object, "warten" is intransitive and cannot have an accusative object at all*.
It's just as in English: You can't wait something, you wait for something.
=> "sich warten lassen" is wrong, "auf sich warten lassen" is correct.
*there is the homonym "etw. warten" (transitive) which does demand one, but has the different meaning of "to maintain sth." and is unrelated to your example.
Edit: Hm. Apologies. It's always funny to try to explain things in your own language that are so "intuitive" for you that you never learned literal rules for them and try to come up with one on the spot. I have to amend my answer. Transitivity is not the reason.. the definition of reflexivity is. "Sich" is a substitution for the subject of the sentence, and if you revert that substitution it becomes a lot clearer why "Weitere Erfolge sollten sich nicht lange auf sich warten lassen." doesn't make sense to a native speaker:
- Beate hat ihren Mann nicht lange auf [sich -> Beate] warten lassen
- Weitere Erfolge sollten nicht lange auf [sich -> weitere Erfolge] warten lassen.
- Weitere Erfolge sollten [sich -> weitere Erfolge] nicht lange auf [sich -> weitere Erfolge] warten lassen.
1) and 2) follow the same pattern, but in 2) the object is omitted because it is not relevant for the meaning of the sentence and/or could be replaced with "das Universum" (sometimes actually happens in literature). Everyone who thought "es regnet" and similar constructions were ridiculous is now allowed to bash their head on the table..
Anyways, turns out that 3) actually is grammatically correct, but doesn't mean the same as 2) semantically (instead of a vague everything, now specifically success waits for itself.. which is not what 2) wanted to say). So, the first "sich" is not redundant as you assumed, but changes the meaning of the sentence to something that makes little sense outside of poetry and just sounds very weird.