I think, there is no chance to do this analytically. But you can get fine numerical solution if you iterate finding f[x] for each x.
NestList shows, you reach a fixed point for f[x] after enough iterations.
f[x_, x0_, x1_, fstart_, n_] := NestList[Exp[ Exp[-x^2/x0^2] - NIntegrate[((x2 - x)/(1 + (x2 - x)^2)^( 5/2) + (x2 - x1)/(1 + (x2 - x1)^2)^(7/2)) # x2, {x2, 0, \[Infinity]}, MaxRecursion -> 50]] &, fstart, n] ListLinePlot[f[1, 2, 3, 1, 100]]

Therefore work fith FixedPoint
fp[x_, x0_, x1_, fstart_] := FixedPoint[ Exp[Exp[-x^2/x0^2] - NIntegrate[((x2 - x)/(1 + (x2 - x)^2)^( 5/2) + (x2 - x1)/(1 + (x2 - x1)^2)^(7/2)) # x2, {x2, 0, \[Infinity]}, MaxRecursion -> 50]] &, fstart, SameTest -> (Abs[#1 - #2] < 1*^-8 &)]
And plot a solution
pl = Plot[fp[x, 2, 3, 1], {x, -6, 6}, Mesh -> All]

If you generate an interpolation function
fip = Interpolation[Cases[pl, {_?NumericQ, _?NumericQ}, {6}], InterpolationOrder -> 5]
you can even differentiate the found f[x]
Plot[fip'[x], {x, -6, 6}]

I=Log[f[x]](1. equation) into the second, you get a complicated integral-equation. Unfortunately DSolve can't solve it... $\endgroup$