I'm not sure I follow skipping tests if the Suite Teardown fails because the tests have already been executed at that point. However, if you wanted to skip tests, rather than fail them if Suite Setup fails, you could do something like this:
*** Settings ***
Suite Setup Run Keywords Set Suite Variable $SUITENAME_STATUS FAIL
... AND SuiteSetupKeyword
... AND Set Suite Variable $SUITENAME_STATUS PASS
*** Test Cases ***
Test Case
Skip If ${SUITENAME_STATUS} == "FAIL"
Test Keywords
So if a failure occurs in your SuiteSetupKeyword or whatever list of keywords you put here, the last Set Suite Variable statement will never be executed and $SUITENAME_STATUS will be left at "FAIL". Then all of your tests check the value of the suite variable with a Skip If statement.
There may be a better way to do it, but this is one way.
Craig