In Vishal Bhardwaj's adaptations of Hamlet and Macbeth into Haider and Maqbool, why did he completely avoid all the supernatural elements like witches, ghosts, etc? Did he ever explained his choice of skipping them?
The movies were supposed to be modern day adaptations of the Shakespeare's works set in modern Indian environment. Vishal was only interested in the overarching plot and substituted the characters and settings to Indian variants, as described here
Like most trilogies, it is very easy to notice a similarity in the screen-writing pattern in all the 3 movies. We are already familiar with the names of his characters sounding similar to the ones in the play (Gertrude becomes Ghazala, Iago becomes Ishwar ‘Langda’ Tyagi). The supernatural elements get conveniently replaced with their contemporary avatars (King Hamlet’s “ghost” becomes a man carrying Ghost IDs – aptly named Roohdaar).