Я знаю, что это старый вопрос, но недавно я придумал что-то, что, несмотря на серьезную нехватку элегантности, прекрасно работает.
\catcode`~=11 % make LaTeX treat tilde (~) like a normal character
\newcommand{\urltilde}{\kern -.15em\lower .7ex\hbox{~}\kern .04em}
\catcode`~=13 % revert back to treating tilde (~) as an active character
Теперь вы можете использовать \ urltilde внутри тега \ url (даже в файле .bib) и:
1) URL будет отображаться идеально;
2) нажав на ссылку, вы попадете на правильный адрес; а также,
3) copy-paste поместит правильный адрес в буфер обмена.
Это единственное найденное мной решение, которое удовлетворяет всем трем требованиям. Я надеюсь, что это поможет кому-то там.