I'm not sure that there is such a thing as best practice here, but there are some issues to consider. There are two questions you need to answer:
- Is it appropriate to use base-1000 or base-1024 units?
- When does precision start to become redundant?
Regarding the use of units, there are two guidelines. Firstly, always use the appropriate binary prefix so at least your users can figure out what is going on. Secondly, go with the principle of least surprise, and use whatever units are common in your problem domain. Thus, if you are reporting a file size on Windows, use base-1024 as that is what Windows uses. If you are reporting RAM sizes, use base-1024, as that is how RAM sizes are always reported. If you are reporting hard-disk sizes, use base-1000, as that is how they are commonly reported.
Regarding precision, I think this is a judgement call. I am loath to report more than one significant digit, because in any situation in which more precision is required, the number of bytes is the measure you want to report.