How can I determine the cation distribution of a spinel ferrite from the XRD pattern by comparing the observed intensity ratio with the theoretical one of a pair of diffraction lines ?
You can use Rietveld refinement where you can refine the occupancies of the different metal ions (by carefully applying the constraints on the occupancy parameters based on chemical composition).
But it is very true that the elements which you are going to differentiate from lab-XRD data should at least have well enough difference of electrons. Another possible way is to follow EXAFS and XANES analysis more authentically when elements are not well differentiated from each other in terms of electron numbers in them.
Substitution of elements/ions means that at the same position x,y,z a certain number N of electrons is assumed. It says something about the scattering power of this position. Now you want know how N is composed by e.g. two atoms A and B, i.e. N=p*NA+q*NB. Actually you want know p and q which looks easy if you would exactly know N, NA and NB. There are specific challenges, e.g. can you use atoms or do you have to differentiate between ions? Do you have the structure files correctly described? A and B may have different ionicity. You may have an incomplete occupation, i.e. for certain reasons the position is not fully occupied: p+p is not equal to 1 (not untypical for spinels). Very critical is the already mentioned problem that NA and NB are nearly identical, like for Fe, Ni, Mn, Cr.... Then the uncertainty in p and q are also very big. For other systems, i.e. KCl, the number of electrons becomes even equal for different elements. The consequence is that the x-ray does not distinguish between K+ and Cl-. Both have 17 electrons. A further problem: Order phenomena, i.e. your structure is actually slightly different which does not become obvious because of only very tiny superstructure reflections. Then of course everything becomes questionable...
Finally: Mathematically it certainly works. The reliability depends very strongly on the specific phases, and the quality of your exterimental data. The more noisy, the less accurate!