First, that is not "high-resolution" but "high-range". Resolution is about width and height. Not about bits per color.
You are basically looking for conversion from High Dynamic Range to Small Dynamic Range, which is called Tone Mapping. The problem is, it is always loosy conversion and might not be useful for your case.
Another, simpler option is to have user select what original range they want to display. Or even select colors at specific original values and blend between those. This way, user can choose either by displaying whole range, while loosing details at small range and then "zoom in" to range that interests them the most.
There is a reason for computation to happen outside browser. If it is too much to be infeasible on a browser, try do the computation on a cloud machine and send the results through HTTP.
The browser-side can perform computation at a lower spatial resolution, instead of lowering numerical precision.
Also, you can give users the choice of dynamic range compression (a monotonic mapping function of amplitudes) which reduces the numerical precision but still extracts a range that is useful based on the user's analytical needs.
Draw to an image format rather than canvas and then present the image.
Png suports 32 and 64 bit colour and you can output base64 encoded data strings to the browser to avoid having the save as a file