It can be hard to determine where to start out at especially when you don't have any hard requirements but from my experience if you over allocate resources to a VM and it doesn't need it, you'll have an uphill battle scaling the VM back down. Also, another concern you have to worry about is that if you over commit resources is that you can cause issues for yourself later on down the road as far as CPU issues (This post describes a little bit about what I'm talking about.
) and possible memory contention issues. As a general rule of thumb you want to start out small and grow as needed especially when user requesting the VM has no idea what kind of resource utilization they're going to have.
As for what we use in the environment I manage, our Server 2008 R2 template only has 1 vCPU and 2 GB of RAM to start out with and we scale it up as needed based off the requirements but if the user doesn't know what it needs or doesn't ask for a certain amount they usually get the base template amount. Keep in mind part that part of the reason our resources are set were they are is because we normally don't have a lot of users hitting any of our servers so they don't usually require a ton of resources.