Provide a mechanism akin to Json.NET's custom contract resolvers, allowing users to fully customise serialisation according to their needs.
Example use case
A reporting tool that allows users to determine, on a per-report basis, what columns should be present in the generated Excel document.
(As suggested by Marcus Diamond.)