Nagios best practices for setting up hosts/services?
I think the answer to your question is not definitive, but will reveal itself over time as you develop a deeper understanding of how Nagios works. Services are generally tied directly to the host they run on, but as you are discovering, that is just a convention. A convention that works and provides some shortcuts, mind you, but a convention, nonetheless.
Also know that that you can define any check as the host check. It does not need to be ping. Perhaps check_http is better for your use.
define host{
use generic-host,host-pnp ; Name of host template to use
host_name www.microsoft.com
alias www.microsoft.com
address www.microsoft.com
check_command check_http
.
.
.
}
Given what you've said, I would create a dummy service with a bunch of you third party services tied to it for now and adjust it as you see fit.
To address your 3rd question, if you go the route of a host per service, you could use a host or service group to group them for display.