TL;DR
I use /srv for web server content and /var for general content.
Longer explanation
To me, /var implies generated content. I'll use in /var for text processing (before importing to a database or something), but I always use /srv for server-side components (i.e.. py,php). In 20 years, I've never used /var/www/html. Aside from being too hidden for my tastes, it's dishonest as I don't serve HTML files; I serve generated content that may or may not be related to HTML. That's not to mention that some packages will simply enact eminent domain on it. Just avoid it.
Above all: do NOT create another directory in your /. That is an absolutely insane idea. Never do this. / is sacred. Tread lightly for you are on holy ground.
Having said that, you mentioned packages; this is usually what /usr/local is for. You might find that stuff just gets installed there anyway. /usr/share is anohter popular place. You might not have a choice in the matter; check to see if the packages already have a predefined location.
Whatever you do, just make sure you set ownership right (example path; use /var if you want-- you have to make your own decisions):
sudo chown -R www-data:www-data /srv*
I'd suggest you look at something official: http://www.pathname.com/fhs/pub/fhs-2.3.html
Don't trust people who say "this is for this one thing and that is for that one thing" without using at least 3 paragraphs to explain it. The lines are blurred. When you read about /tmp and /var you may initially feel they are the same thing, but you'll quickly learn the real differences (especially if you're on a system that doesn't persist /tmp at all).
The FHS is very much like language where words don't so much have definitions (as one learns in primary school), but have a semantic range of meaning (as one learns in grad school). It takes time to get the feel for it. You'll have an smoother time transitioning between Debian and RedHat-based systems if you keep the semantic range in mind.