What are the guidelines? While the answer could be "when your webpage or queries return slowly -- that answer doesn't quite work for me. What are your reasonable expectations for shared hosting? How do you measure? Pageviews? Visitors? Queries?
I'm going to be running an optimized version of a standard CMS (Drupal, but it could be Joomla or Wordpress) Should I just expect bottlenecks during portions of the day? While I'm running some things cached, there will be some pages which can't be cached (search by zip code)
Why doesn't that answer work for you? Each business is different so 3sec load times may be a max for some where 8sec is acceptable for others. In the end "pageviews, queries, visitors" is going to be specific to the application being run and they all add up to load time metrics.
Shared will work till you start receiving enough requests per second that the page load times become "unacceptable". Where unacceptable is somewhere over 6sec, when visitors start hitting the back button to google. How many requests/sec the shared host can handle before load times become unacceptable is dependent on the shared servers hardware and configuration. You are at their mercy.
I personally don't see why more people aren't using VPS solutions like linode and slicehost. At $20 a month you have root access. What that means is you can run tests on drive IO performance, cpu performance, etc. Additionally, you are more secure than whatever chroot environment a shared hosting provider places your business critical application in. You can recompile php to make use of opcode caching with APC, etc. You can decrease load times by optimizing server performance instead of upgrading to higher tier shared hosting.
Basically, from a math standpoint it would seem to me that shared is only a good value to those who wish to do little if any administrative work. The value is with VPS where solid, secure, flexible VPS solutions start at $20 a month. Perhaps I'm biased but this is serverfault.com so I'm in like company.
other shared hosts in same physical machine may affect your shared host because they use same cpu, memory and disk. And you may not able to monitor it because you don't have the ownership of other shared hosts. So I suggest you measure it by the average response time of your webpages.