I suppose what is so "horrible" about the name is that people aren't used to it, and many people simply will react negatively to a name they've never heard applied to a person before. Also, the longer an Old Testament name is, the more likely people are to dislike it, because it is less likely to fit in with what people think of as a "normal" English name.
Personally, if you are in the USA, I think a child would do just fine being named
Zephaniah today. Not only are
Jeremiah and
Zachariah being well used, but
Isaiah is very popular and even
Nehemiah has shown a definite increase in use lately. So most kids being born today should have no problem with Zepahniah, with a pet form of
Zeph.
Of course if you wanted to "Anglicize" the name a bit you could perhaps use Zephany, on the lines of
Jeremy from
Jeremiah. However, people would probably object to that one and claim it sounds "feminine" because it rhymes with
Stephanie.