I don't think you should attempt to avoid the "random" work, but structure it.
This usually means predicting it and planning for it. This month, I'm playing configuration manager (build , deployment, and QA environments). This team tends not to plan QA requirements ahead of time, and I drown in ad hoc requests. I counter this by interviewing the the team early in order plan for them. Also avoid being essential - ensure that many other people can do what you do themselves.
My how-to-tip: Use your inbox by keeping it closed most (not all) of the time. Tell everyone needing something non-critical to send an email. Open and process it no more than once every 1-2 hours. The term "processing" email have been used: respond quickly or create to-do items for things you can't do immediately. Most people prefer a quality response in an hour to junk right now.
Note: I don't have this problem licked yet, either, but I'm getting closer.