Some enhancements that would make the Spatial Join tool more useful:
Allow user to name the "join_count" field automatically generated by the tool. Currently if i want to perform several joins to the same target each creates a 'join_count' field, which ultimately has to get changed so its clear what data are being counted.
Allow serial join operations, that is, allow multiple 'join feature' feature classes per target feature class. Sometimes I want to summarize/aggregate several layers to a single layer (such as county or census block), currently I have to do this one at a time or build a model to handle this.
Make data summaries easier to specify. If i want to summarize a numeric attribute in a join feature I have to manually add a new field to the field map, specifiy the merge rule, then specify the input field. If I want Min, Max, and Average for just one field this means 9 operations I have to complete. We should be able pick all the desired summary statistics for a field just as we do with the Summarize tool when summarizing a table.