Firing someone is a difficult decision, but the reason to fire is a person rarely a spur of the moment thing. Chances are, many instances have already happened, and the person is probably a toxic element in the team. When it is decided to fire a person, do it quickly. Growth cannot happen in a toxic environment, and if you have decided to fire a person then the rest of the team already knows this person is toxic. The longer the person is allowed to stay in the team, the more poison that person will spread.
Forbes magazine recently wrote an article here about a study that was conducted on whether people that worked remotely were happier. Unfortunately, the study does not say how long the employees were working remotely.
Working remotely has a lot of advantages. There is little to no commute, distractions are (sometimes) much less, and work/life balance can benefit from such an arrangement.
However, there are some disadvantages as well. Humans were built for community, even introverts like myself. As much as I love my quiet office, even I have to stick my head out every once in a while and get some real human interaction. But, working remotely does not have that option. I would guess that the happiest remote workers have found a way to be more social while they work. I know many extroverts that would be gnawing pencils in half if they worked remotely without the possibility of social interactions.