fsck_msdos keep blocking external HD MacOS Sierra 10.12.5 early 2015 MacBook pro 13inch
Transcend 1TB

Keep doing this since 2015 when I bought both. Every time it is disconnected improperly it hangs a long time upon trying to remount it because the system keeps checking the fs:

$ sudo lsof | grep disk2
fsck_msdo 2084             root    3u      CHR               1,6 0xcf04928000     1153 /dev/rdisk2s1


Tried force mounting, unmounting, eject, OS restarting, killing fs_check process, but every time it restarts the filesystem check.

Is it necessary? How can I disable it?

$ diskutil list

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.0 TB     disk2
   1:             Windows_FAT_32 Transcend               1.0 TB     disk2s1
It is necessary. 

It is independent of Mac or macOS involved. As you wrote "improperly": this is the key here.

To prevent damage from the filesystem the OS checks "is the filesystem dirty?", i.e. not cleanly unmounted. "Dirty" filesystems then get a run of filesystem check (fsck_msdos). Successful fsck marks the filesystem as clean. (And usually tries to correct some inconsistencies, if it finds some of those it could rectify.)
Killing that process before it does the same as a proper unmount, i.e. "marking the filesystem as clean", will send you into a loop. Finding a way around that may be possible, but is certainly not recommendable.

Two 'solutions': 


Try to eject/unmount the filesystem cleanly every time. That is the best way to avoid the fsck run. There may be some applications available to make even that even more convenient, depending on what kind of disks on what type of connection they are to be used.
Let it run its fsck course the first time around. That is the shortest way to start using it again.


Possible Preventive Measures:

Mechanical unplugging the drives involuntarily while awake or in use could be mitigated with a better cable. No joke. I have one quite expensive cable that sits much tighter than all the others in that port. 
If the problem occurs mainly with sleeping or after not using the external drive you might want to look into an app like Mountain. It's commercial and there might be others out there (Jettison, CleanMyDrive). 

Also, true: this fsck_msdos is mainly to notify you of any and prevent further damage, so you can take it to a system whose fsck or chkdsk actually can repair it.