Gosh- if it's the protein in milk that is difficult. Homemade smoothies and sorbets is a good idea though- for nice treats (healthy too). And when he's older dark chocolate will be fine as most dark chocolate has no milk in it.
Obviously not having milk means that the main concern is providing adequate calcium. I got this list of non-milk/dairy calcium-rich foods:
Salmon, Canned, with bones, 75g; 185 mg Calcium
Rhubarb, cooked, 240ml; 174 mg Calcium
Spinach, frozen, cooked, 240ml; 138 mg Calcium
Tofu, firm, 240ml; 258 mg Calcium (no good though- soya isn't it)
Almonds, 240ml; 92 mg Calcium
Beans, boiled, baked or refried, 240ml; 50 mg Calcium
Mustard greens (don't know what these are!), cooked from fresh, 240ml; 52 mg Calcium
Orange, 1 medium 52 mg Calcium
Halibut, baked, 75g; 51 mg Calcium
Kale, fresh, cooked, 240ml; 47 mg Calcium
Broccoli, cooked from fresh, 240ml; 36 mg Calcium (a good source of vitamin D)
Bread, whole wheat, slice; 32 mg Calcium
At his age he should be having 800mg a day of calcium and when he reaches 8/9 that should be upped to 1300mg a day.
If that proves difficult or at least whilst you're getting used to new foods he could have a supplement.
Sorry if I've gone on too long. Food & nutrition is really interesting for me and because of my husband's intolerances we've had to be inventive/label-readers for years.
Best of luck
K