Seems like this is a bit of a “How long is a piece of string” question. If the VMs are just idling, I’d say you could over commit them indefinitely. I’ve never heard of a general rule or ratio for over committing resources.
It’s ok to over allocate on memory as mentioned before. When the VM is up and running check on the Resource Allocation tab of the VM. This can tell you if you need to make amendments to allocations. Keep an eye on the Ballooned figure; if you start to see large amounts of ballooning then this can be down to paging faults. Also keep an eye on the Swapped figure.
Be careful using shares, only use these if you are experiencing resource constraints.