The challenge is that the single operation is "unbounded" in the number of accounts it would have to credit. If there are 1M people that need to receive the dividend then that single operation could take a very long time to apply and that would disrupt the flow of the network.
Recognizing this as something that would be nice to automate I will think about it. It is not on our current issue list on github though.
It doesn't have to. You can simply record a dividend event for each UIA. For example, UIA-1 could have a dividend event at block N for a total of X BitUSD when the total UIA-1 supply at this time was Y UIA-1 (it would also record a mutable value of the accumulated amount of UIA-1 moved to claim this dividend, which starts with 0 always). It also stores that original X BitUSD in a pool associated with UIA-1. When someone is moving their UIA-1 they can collect the appropriate amount of yield in the form of the BitAssets distributed as dividends since the last time they movied their UIA-1.
So, let's say a UIA-1 balance existed prior to block N with a quantity of y1 UIA-1. There would be no way to add more UIA-1 to that particular balance anymore after the dividend event. A user could withdraw some portion of UIA-1 in the balance and deposit it to a new balance that exists after block N. If the user withdrew y2 UIA-1 out of that balance during a block after N, then the user would automatically receive (y2/Y)*X BitUSD from the pool as part of their transaction to be deposited wherever they wish (by default would be deposited to a new BitUSD balance with a condition identical to the one of the UIA-1 balance being withdraw from). The system would also add y2 to the accumulated amount of UIA-1 moved to claim the particular dividend. When the accumulated amount of UIA-1 moved to claim the particular dividend becomes equal to Y, the system knows that all of the dividends for that particular dividend event have been claimed (there might be some extra BitUSD in the pool because of rounding down, which is just free money that can be claimed back by the UIA-1 issuer).
There is the issue that if there are multiple dividend events that occur between the time a balance exists and the time it is moved, the system will need to do the above calculation for each of those dividend events. But the point is that this scales with D, where D = the number of dividend events, rather than with N, where N = the number of UIA-1 balances. I expect dividend events to be relatively infrequent that this wouldn't be a significant problem. It could also be possible to put a bound on D by having the ability to claim dividends expire. For example, if a UIA-1 holder doesn't claim the dividends of a dividend event that is more than 24 dividend events old, they would forfeit their right to claim the dividends of that dividend event (they could still claim the dividends of the most recent 24 dividend events though). This could be implemented by automatically setting the accumulated amount of UIA-1 moved to claim the dividend for that particular dividend event to its respective Y value, which would then allow the issuer reclaim the remaining unclaimed dividends for that dividend event. This would put an upper bound of 24 on D, which I think is reasonable when you consider that even if dividends are as frequent as once a month, a dividend receiver will not lose any dividends as long as they claim them (meaning move all of their UIA balances) at least once a year.