A shirt is usually purchased 1 size smaller than the jacket. If the boy wears a size 16 suit then the shirt is a size 14. Belts are 1 size larger than the waist size. If the boy is a 28 waist than he usually a 30 belt. Dress shoes are generally 1 size smaller than an athletic shoe.
Boys have their own sense of style.
Sometimes it might be better to compromise then have something hang in the closet.