You could try doing a p4 reconcile before submitting, that will go through and align your changelist to your current workspace status.
So files deleted from your workspace still in the depot will get marked for delete, new files will get marked for add, and editted files well get checked out. This works even if you checked a file out, and then deleted it, but forgot to mark the file itself for delete. It will sometimes even detect when you’ve done a move/rename, but it isn’t perfect on that one.
Not sure exactly how the command works from the commandline, but in P4V it pops up a separate window and asks you about what you want to do for each detected file.
I’d not run it against your entire workspace, as it can be rather slow if you’ve got a lot of files, but running it against a directory that you know you’ve been monkeying around in can be helpful. Especially when using something like Unity that loves to ignore read/write locks on files.