How do you know the results are good or bad? If you have a mock community or simulated sequences for which you actually know the correct taxonomy assignment, then it is possible to ascertain how well a taxonomy classifier is actually performing.
If you are assessing "goodness" using real samples, then you don't really know the true composition. The taxonomic assignments that most of us like to see (species-level classification) may not actually be reliable, and can frequently be misclassified.
The naive bayes classifier in QIIME2 is set to provide fairly conservative classifications, in order to avoid false-positive errors (other classifiers can be prone to high false-positive error rates), but you can lower the confidence parameter to get deeper classification (with a slightly higher false-positive error rate). The qiime1 uclust classifier performs pretty well but can give false-positives. qiime1's BLAST classifier gives very high false-positive rates at species level (since it always just reports the top hit). So unless if you are testing this on mock communities or other samples with known composition, then whatever qiime1 blast is telling you is probably wrong...
You cannot add taxonomy before exporting. You would export the feature table and taxonomy separately, then merge outside of QIIME2 using biom. In QIIME2 feature tables and taxonomy are always kept separate so that it is always clear where your feature metadata (e.g., taxonomy) is (it is never stored in a feature table).
To do open-ref otu picking, you must first do dereplication (I am assuming you already saw this in the otu picking tutorial). It is also possible to use deblur or dada2 prior to otu picking, in order to use their denoising methods, though then otu picking just eliminates useful information. OTU picking is sort of a crude denoising method — dada2 and deblur are more effective at removing errors, in my experience.