Is it safe to delete "root" user?
For administrative purposes, you need to have a SUPER user WITH GRANT OPTION, but the name ('root') does not matter.  But...

Are there any scripts that assume it is root?
Such a user should be granted access only from localhost, thereby adding the OS security on top of that login.
Do not give SUPER or WITH GRANT OPTION to any other user (without understanding the security remifications)
Each application should have its own login into MySQL.  That is, use root (or your replacement name) only for admin purposes, not for applications.
Each application login should limit what it can touch.  Commonly that is one database, hence GRANT ... ON dbname.* ..., not ON *.*.  (There are exceptions and variations on this rule.)