Well I think you only have to find the correct order of magnitude of the fit parameters. Which I think you should know beforehand.
If not you could do just a brute force evaluation of different orders of magnitude of the initial parameters and select the best values for your initial guess.
Block[{y = 0, t = 1, b = 0.0015, l = 0.0011, d = 0.00013},
data = Table[{x,
fm[x, y, t, b, l, d] +
Random[NormalDistribution[0, 0.1]]}, {x, -0.0015, 0.002,
0.000015}]];
bi = li = di = {10.^-2, 10.^-3, 10.^-4, 10.^-5}
Block[{y = 0, t = 1},
all = SortBy[Flatten[Table[
datai =
Table[{x,
fm[x, y, t, b, l, d] +
Random[NormalDistribution[0, 0.1]]}, {x, -0.0015, 0.002,
0.000015}];
{RootMeanSquare[data[[All, 2]] - datai[[All, 2]]],
datai, {b, l, d}},
{b, bi}, {l, li}, {d, di}], 2], First]
];
{lsq, datai, {bi, li, di}} = First[all];
{lsq, {bi, li, di}}
ListLinePlot[all[[All, 2]], PlotRange -> All]
ListLinePlot[{data, datai}, PlotRange -> All]