Вы можете сравнивать типы:
template<class T1, class T2> struct is_same_template: std::false_type {};
template<template<class, std::size_t> struct StdArray,
class T1, std::size_t n1, class T2, std::size_t n2>
struct is_same_template<StdArray<T1, n1>, StdArray<T2, n2>>: std::true_type {};
или определять отдельный компаратор для каждой сигнатуры шаблона:
template<template<class, std::size_t, class...> class T1,
template<class, std::size_t, class...> class T2>
struct is_same_template_T1_n1: std::false_type {};
template<> struct is_same_template_T1_n1<std::array, std::array>: std::true_type {};
В общем, нет общего интерфейса шаблона, который бы в равной степени принимал тип - и не тип-параметры.