Look around here, please. Many members have recommended (or panned) various hosts for years.
As for me, I'm currently hosting (for myself and for my clients) with two separate hosts:
• modVPS.com (part of WebHostingZoom.com) currently has my VPS account. I've had them for several years (they're more expensive now when I compare the cost of services) and they're just a little slow (at least when I'm in a rush) at some responses but, the proof of their services, price and responsiveness is that I still have my account with them.
• WebHostingBuzz has two of my accounts, one an account designed to accommodate the unusually high hardware requirements of a Joomla account and another where I take advantage of an "unlimited" account for client mp3 files. After several years, I have yet to need to contact their support group for a problem - I believe this is EXCELLENT but makes it impossible to compare the speed of support services (with modVPS). In reviewing their VPS, though, it appears that I could save on my monthly bills with a move.
• Others: I'd left Site5 (moved to modVPS) years ago when they suffered from a change of ownership. From what I can tell from a distance, though, Ben (he's around here occasionally), Site5's CEO, seems to have corrected the many problems created by the intermediate owners.
• GoDaddy (among others) has a terrible reputation (as a host, not as a registrar - their reputation there is very good) and should be avoided. Ditto any "free hosting" service which will advertise on your website.
FWIW, I've posted this "process" I go through before when I need to select a new service but it bears repeating here:
[indent]. Establish your requirements, i.e., Linux, Apache 2.4+, PHP 5.2+, MySQL 5+ and storage and bandwidth requirements. Remember to allocate for log files, databases, e-mail (attachments) and growth.
Know what control panels you are willing to use, i.e., WHM/cPanel. cPanel is the standard bearer for Linux systems and Plesk for Windows systems.
Know how much CPU time/RAM you need. If you need a lot of processing power (like Zoomla and other CMS's), this will be a major factor. These, however, are usually specified only for VPS/dedicated accounts and automatically throttled for shared/reseller accounts.
Know your target (the Internet is fast but some latency could hurt so the closer your server to your target audience the better) location and try to host as close to your target as possible.
SEARCH (using the above parameters) recording each feasible host as well how well it satisfies your requirements and budget. Spreadsheets are good for this as you can assign weighting to the different requirements and how well they were met to generate numerical scores.
Create a shortlist based on the database you've created in step 5 then SEARCH for comments about the host (avoiding obvious shills and websites which advertise for that host).
The last step (other than selection) is to contact each shortlisted host with a question (I've used .htaccess and mod_rewrite availability, which services are managed by the host, the availability of IP addresses - you will require one for each SSL you use - or ask to test proprietary control panels - they may make life too difficult for you) and record the response time and your level of satisfaction with the response.
Finally, you'll have enough information to make an intelligent selection.[/indent]
I hope that helps.