Let's break it down. At the highest level, the structure of the sentence is this:
...は ...からだろう。
"Concerning ..., it's probably because of ..."
The first part is easy: サイズが少し大きい, the size [of his shirt] is slightly [too] big.
The next part explains why this is probably the case:
...にもかかわらず、...ほど背が伸びなかった
"Irregardless of ..., his stature didn't lengthen to the extent of ..."
or more naturally:
"Irregardless of ..., he didn't grow as much as ..."
Irregardless of what didn't he grow?
身長が伸びることを前提に買った
"Bought [the shirt] with the assumption of his body height lengthening"
or, more naturally
"Bought the shirt assuming that he would grow (into it) (in the future)"
What is the extent to which he didn't grow? 予測. So, he didn't grow as much as (his own) prediction. In other words, he didn't grow as much as he thought he would.
Now you should be able to come up with a natural translation of the complete sentence.