I prefer ботАник, because it's less insulting of all abovementioned words. You may say it lovingly and tenderlyI don't think it's obsolete, despite it was popular in USSR. It suggests academic/scholarly interests and corresponds to nerd. Reduced form ботАн (or бОтан) may also be used, but sounds less polite.
It's colloquial speech, so you need dictionary of Russian slang for such words![]()