I think its trial & error, rigorously testing of your bg after eating will tell you the best approach to injecting.
More often than enough I'll inject 10-15 mins before eating as it gives the insulin a head start, however if the meal has a high fat content I will inject before or even split the dose to get the best possible postprandial bg readings, the one time I won't inject in advance is when I'm eating out in an unfamiliar restaurant, I like to see and count the carbs on my plate before injecting, also delays in the food arriving can catch you out if you're not careful.