Actually, I was curious about this one and have been trying to figure it out for a while now. It's kind of complicated. There are a few different services working together to provide this list of share targets.
The personalized part of the list, the top part, can list shortcuts as well as the main activity of apps. This list is sorted by an app prediction score by an app prediction service.
So how does the app prediction service know what to show you? App devs can track shortcut usage. The share sheet will send an update to the app prediction service when a user shares something. Apps can also notify the prediction service when a shortcut is used or if the user manually does whatever a shortcut is for.
There's a way to disable the app prediction service for shares very easily (in the code, not an adb or settings thing), but I'm not sure what the result would be. It looks like shortcuts would still be listed, defeating the purpose. Or not. It's hard to follow all this stuff without an IDE.
If I'm right and haven't missed anything, there's not really a nice smart way to not show those items. Pretty much would have to filter out the shortcuts after getting them from the service or just empty the array and return that.