Websites aren't color managed. Browsers may or may not be (they mostly are today).
The most likely explanation of the shifts you are seeing is that some of the sites to which you are uploading are stripping the color profile from the image (Facebook actually swaps the profile for their own for their timeline photos, but it's almost the same as sRGB). It's, sadly, a fairly common practice and there's not much you can do about it. Some browsers will treat untagged content as sRGB, but others send it directly to the monitor. This can cause some big shifts especially on wide gamut monitors.
It's pretty easy to diagnose: just upload a photo to the offending site, then download it from the site, open in Photoshop, and see if it's still tagged.
Trying to second guess it by manually shifting colors is a bad idea. Without a profile you are essentially working in a non managed environment and can't make any real predications about what other people will see in their screens. What looks about right to you, might be terrible to me even if my screens profiled. And some browsers will assume sRGB for untagged content making your shifts unwarranted. There's not a good answer short of not uploading to sites that mess with your image, and not worrying about color on the web beyond specifying sRGB.