Since good quality profiles can be achieved only for well-exposed target shots, a profiler should contain means to check raw data to ensure that the white is close to the target value, and the amount of flare, vignetting, light variations across the target, as well as other factors resulting in less then usable profiles, are insignificant.
It is not necessary that the whole target is captured in a single shot; taking multiple shots to capture the whole target is a better way to control flare, light distribution, and vignetting.
Shooting reflective targets is not the only possible way; especially in the case of matrix profiles. When shooting transparent patches like colour separation filters against a diffused (close to full-spectrum) light source it helps to use a spectrophotometer to measure the light source and the filter before shooting.
Not all cameras with Bayer-type sensors have both green channels of the same spectral sensitivities, or of the same photographic sensitivity.
One of the factors that affects the quality of the profiles is accounting for the sensor black point; subtraction of black point should be done on per channel and in some cases on per sensor column basis.
To achieve accurate profiles non-linear transforms in raw converter should be avoided as much as possible; only white balance through multiplication might be applied. However even this adjustment can be largely eliminated if the regular target is lit by the appropriately filtered light to result in all white balance coefficients being close to 1.
Current CMMs result in excessive amounts of noise, especially when dealing with linear data. The more optimal approach is one that first applies matrix transform and tonal compensation using floating point calculations; and then optionally applies a LUT transform.