1 of 14

A little experiment first. Let's see how the Min value of the plot changes with Opacity:

f[x_] := f[x] = 
   Min[Norm /@ Flatten[ImageData@Rasterize[
        ListPlot[theData, AspectRatio -> Automatic, ImageSize -> 200, 
                   PlotStyle -> {Black, Opacity[x]}, Axes -> False]], 1]];
Plot[f[x] , {x, 0, .4}, PlotRange -> Full]

Mathematica graphics

So, it is an exponential.

Let's fit it:

model = a Exp[b x];
fit = FindFit[data, model, {a, b}, x];
modelf = Function[{t}, Evaluate[model /. fit]]
Show[ListPlot@data, Plot[modelf[x], {x, 0, 1}]]

Mathematica graphics

Now you are ready to set the min value of the brightness of the plot to whatever you want:

opacity = Log[ MinDesiredIntensity / b] / a