What is the best practice to track Custom Fields' history on Custom Objects?
Edit: Also, is there any way to include Field History in Reports?
Field Trip, is a nice free app that you can use to get a good set of reports on # of records used, whether custom or standard etc. on all the major objects.
Turns out you can't report on field history on the child object in a Master/Detail relationship. It's a known issue and there's an Idea for fixing it (https://sites.secure.force.com/success/ideaview?id=08730000000BrlxAAC). The kicker is that the UI lets you turn on history tracking for fields, and the data is captured, but you can't access it with the reporting engine. This means no dashboards and the like.
It is also probably worth mentioning Analytical Snapshots - you can daily/weekly/monthly copy a subset of your data (from your designated report) into custom object and then report on it.
Obviously the biggest pain is setting up a clone of an object (provided you need all the fields), but Eclipse might help. Create a new object via Salesforce UI and then in Eclipse just copy/paste previous object field definitions onto the new object.
Use New APP Which is Native.
Very Helpful for the Mater Detail History tracking on Custom Object. Which is not available. Report can be exported in PDF and Excel Formate