I'm not sure there is a single best practice in general. It depends on what you mean by "outputs" and what you want to do with them.
If the outputs are structured data for which you have a data type or data that you want to be searchable and/or viewable in a report, they should be written to an assessor. A collection of files that don't need to be searchable would most likely be written to a session resource. But those are just broad generalizations with a decent amount of overlap, so they won't be helpful in every case. Plus those are just the use cases that I came up with off the top of my head; there are plenty of other use cases I didn't mention that would be best served by one or the other way of storing outputs, or maybe even other ways besides those two.
To echo Charlie, could you give us some more detail on the goal you're trying to accomplish?