Don't be deterred by the negative comments about the unstructured data. It's a tough problem but not an impossible one. I know because I'm also battling the same question building a free-form NLP based self tracking app to help track daily data ( http://thyself.io ). The problem for me is that it's hard to perform analytics when one datapoint is in "miles walked" and the other is in "laps ran".
As you said, conventions help mitigate the problem a little bit but the end user can hardly be expected to stick to best practices.
I have hope though. This is a problem worth solving.