The following gives a result with a warning:
Clear[x, a, b, d];
data = {{0.1, 1}, {0.5, 0.99245283}, {1, 0.981132075}, {2,
0.957629013}, {3, 0.94647978}, {5, 0.892872862}, {8,
0.825362586}, {10, 0.794884307}, {15, 0.737820069}, {30,
0.688456089}, {50, 0.710852149}, {100, 0.686350949}, {300,
0.630188679}, {500, 0.622243133}, {1500, 0.61197978}};
model = Piecewise[{{0, x > a}, {1,
x < b}, {(x^(d - 3) - b^(d - 3))/(a^(d - 3) - b^(d - 3)), True}}];
nlm = NonlinearModelFit[data, model, {{a, 1}, {b, 10^6}, {d, 2.8}}, x]