"Can't add component because it doesn't exist"

Fixed!

To anyone else having this problem, Check the error and warnings log in your IDE (Monodevelop, Visual Studio, etc.) and remove lines throwing off errors, even if they aren’t loaded on a gameobject, or related to the issue.

Also make sure you file and class name match, here is an example.
The script name in Unity is Firing, and the beginning of the script looks like this:

using UnityEngine;
using System.Collections;

public class Firing : MonoBehaviour

Does it compile? Maybe it failed to compile, so you can not add it until compilation errors are fixed.