In my case, the issue was that the main table already had records in it and I was forcing the new column to not be NULL. So adding a ->nullable() to the new column did the trick. In the question's example would be something like this:
$table->integer('user_id')->unsigned()->nullable();
or:
$table->unsignedInteger('user_id')->nullable();
Hope this helps somebody!