If you are an evil user, you may consider remapping X to do the equivalent of "_d. However, perfecting the implementation was a little tricky for me. Nonetheless, I found that
(define-key evil-normal-state-map "X" 'evil-destroy)
(define-key evil-visual-state-map "X" 'evil-destroy)
(evil-define-operator evil-destroy (beg end type register yank-handler)
"delete without yanking text"
(evil-delete beg end type 95 yank-handler)
)
integrates very nicely. For example, typing XX will function analogously to dd, as will X$ to d$, X0 to d0, etc...
If you are curious as to how it works, "95" represents the "_ register, so it simply reroutes your call to delete as if "_ had been the register pressed.