Personally I think the best way is to complete the daily quests as often as you can, replacing the lower gold ones (clicking on the "x" to get a new one) for hopefully more valuable ones. Every 100 gold, buy a pack. Also make sure that you win at least one Tavern Brawl each time it's available, as you get a free pack for that as well.
I used to save up the gold for for the dungeons, but I did some research and found out that the cards I would receive in most cases weren't worth the cost. (Except for the Grim Patrons so far), but I've not yet researched all of them.
Every time you open a pack, you of course have the chance of getting a card you already have 2 of, so the 3rd one is useless. This should be turned into dust. After this happens often enough, you should be able to craft some pretty decent cards.
Regarding legendaries vs rares, it depends on what kinds of cards you need. If the legendary is going to be super useful, craft that, otherwise craft something you think will round out your deck. Some cards have much more utility than others, but it also depends on what kind of deck you're building.
I also tried the arena, but found out that because I didn't have a stellar deck, I would lose a lot and it wasn't worth the gold investment. Personally I wouldn't try the arena again until I could get at least to rank 10 or higher, symbolizing that not only did I have a pretty good deck, but I knew how to play it effectively.
Apparently my experience with the arena (as well as my memory of it) wasn't that great, so if you're pretty good at playing a particular class and win consistently, it might be worth a go. For me, the other option of completing quests and using the gold to buy more packs was more certain though.
TL;DR: I'd buy packs, unless you have a phenomenal deck already, then I'd try arenas.