Basically, I have a point feature class that can be very dense or very sparse depending on zoom scale. When zoomed out, there are too many symbols to display simultaneously in a coherent way. In an ideal world, I'd like to be able to prevent cluttering by specifying a buffer distance (in pixels) around each symbol where no other symbols can be drawn from the same layer. I don't want to cluster the symbols together - I only want to show a single point to represent the area.
My symbology is also fairly complex, and involves graduated symbols based on data value (as well as value-based rotation) as well as several labels with specific placement:
Short of thinning/downsampling the dataset before symbolizing, what are my options (if any) for reducing symbol density?