Is there a package to set the default font encoding of cyrillic to T2A?

A variant of your own answer:

\documentclass{article}
\usepackage[T2A,T1]{fontenc}

\makeatletter
\@tfor\next:=%
  {А}{а}{Б}{б}{В}{в}{Г}{г}{Д}{д}{Е}{е}
  {Ё}{ё}{Ж}{ж}{З}{з}{И}{и}{Й}{й}{К}{к}
  {Л}{л}{М}{м}{Н}{н}{О}{о}{П}{п}{Р}{р}
  {С}{с}{Т}{т}{У}{у}{Ф}{ф}{Х}{х}{Ц}{ц}
  {Ч}{ч}{Ш}{ш}{Щ}{щ}{Ъ}{ъ}{Ы}{ы}{Ь}{ь}
  {Э}{э}{Ю}{ю}{Я}{я}%
\do{%
  \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}%
  \protected@edef\@temp{\endgroup\csname u8:\next\endcsname{X2}}\@temp}
\makeatother

\begin{document}

До свидания! See you soon!

\end{document}

Add other Cyrillic characters you need. Remember that, if you're running an older LaTeX release (prior to 2018-04-01), you need also \usepackage[utf8]{inputenc}.

enter image description here

Using the X2 encoding, that covers a larger number of characters in the encodings T2A, T2B and T2C:

\documentclass{article}
\usepackage[X2,T1]{fontenc}
\makeatletter
\@tfor\next:=
{Ё} {Ђ} {Є} {Ѕ} {І} {Ј} {Љ} {Њ} {Ћ} {Ў} {Џ} {А} {Б} {В} {Г} {Д}
{Е} {Ж} {З} {И} {Й} {К} {Л} {М} {Н} {О} {П} {Р} {С} {Т} {У} {Ф}
{Х} {Ц} {Ч} {Ш} {Щ} {Ъ} {Ы} {Ь} {Э} {Ю} {Я} {а} {б} {в} {г} {д}
{е} {ж} {з} {и} {й} {к} {л} {м} {н} {о} {п} {р} {с} {т} {у} {ф}
{х} {ц} {ч} {ш} {щ} {ъ} {ы} {ь} {э} {ю} {я} {ё} {ђ} {є} {ѕ} {і}
{ј} {љ} {њ} {ћ} {ў} {џ} {Ѣ} {ѣ} {Ѫ} {ѫ} {Ѵ} {ѵ} {Ґ} {ґ} {Ғ} {ғ}
{Ҕ} {ҕ} {Җ} {җ} {Ҙ} {ҙ} {Қ} {қ} {Ҝ} {ҝ} {Ҟ} {ҟ} {Ҡ} {ҡ} {Ң} {ң}
{Ҥ} {ҥ} {Ҧ} {ҧ} {Ҩ} {ҩ} {Ҫ} {ҫ} {Ҭ} {ҭ} {Ү} {ү} {Ұ} {ұ} {Ҳ} {ҳ}
{Ҵ} {ҵ} {Ҷ} {ҷ} {Ҹ} {ҹ} {Һ} {һ} {Ҽ} {ҽ} {Ҿ} {ҿ} {Ӏ} {Ӄ} {ӄ} {Ӆ}
{ӆ} {Ӈ} {ӈ} {Ӌ} {ӌ} {Ӎ} {ӎ} {Ӕ} {ӕ} {Ә} {ә} {Ӡ} {ӡ} {Ө} {ө}
\do{%
  \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}%
  \protected@edef\@temp{\endgroup\csname u8:\next\endcsname{X2}}\@temp}
\makeatother

\begin{document}

Ё Ђ Є Ѕ І Ј Љ Њ Ћ Ў Џ А Б В Г Д
Е Ж З И Й К Л М Н О П Р С Т У Ф
Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д
е ж з и й к л м н о п р с т у ф
х ц ч ш щ ъ ы ь э ю я ё ђ є ѕ і
ј љ њ ћ ў џ Ѣ ѣ Ѫ ѫ Ѵ ѵ Ґ ґ Ғ ғ
Ҕ ҕ Җ җ Ҙ ҙ Қ қ Ҝ ҝ Ҟ ҟ Ҡ ҡ Ң ң
Ҥ ҥ Ҧ ҧ Ҩ ҩ Ҫ ҫ Ҭ ҭ Ү ү Ұ ұ Ҳ ҳ
Ҵ ҵ Ҷ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ Ӏ Ӄ ӄ Ӆ
ӆ Ӈ ӈ Ӌ ӌ Ӎ ӎ Ӕ ӕ Ә ә Ӡ ӡ Ө ө


\end{document}

enter image description here

To your delight, an implementation with expl3:

\documentclass{article}
\usepackage[X2,T1]{fontenc}
\usepackage{expl3}

\ExplSyntaxOn
\cs_new_protected:Nn \__recode:N
 {% #1 is \u8:<bytes> which expands to \IeC{<LICR>}
  \exp_last_unbraced:No \__recode_aux:nn #1
 }
\cs_new_protected:Nn \__recode_aux:nn { \DeclareTextSymbolDefault#2{X2} }
\cs_generate_variant:Nn \__recode:N { c }
\tl_map_inline:nn
 {
  {Ё} {Ђ} {Є} {Ѕ} {І} {Ј} {Љ} {Њ} {Ћ} {Ў} {Џ} {А} {Б} {В} {Г} {Д}
  {Е} {Ж} {З} {И} {Й} {К} {Л} {М} {Н} {О} {П} {Р} {С} {Т} {У} {Ф}
  {Х} {Ц} {Ч} {Ш} {Щ} {Ъ} {Ы} {Ь} {Э} {Ю} {Я} {а} {б} {в} {г} {д}
  {е} {ж} {з} {и} {й} {к} {л} {м} {н} {о} {п} {р} {с} {т} {у} {ф}
  {х} {ц} {ч} {ш} {щ} {ъ} {ы} {ь} {э} {ю} {я} {ё} {ђ} {є} {ѕ} {і}
  {ј} {љ} {њ} {ћ} {ў} {џ} {Ѣ} {ѣ} {Ѫ} {ѫ} {Ѵ} {ѵ} {Ґ} {ґ} {Ғ} {ғ}
  {Ҕ} {ҕ} {Җ} {җ} {Ҙ} {ҙ} {Қ} {қ} {Ҝ} {ҝ} {Ҟ} {ҟ} {Ҡ} {ҡ} {Ң} {ң}
  {Ҥ} {ҥ} {Ҧ} {ҧ} {Ҩ} {ҩ} {Ҫ} {ҫ} {Ҭ} {ҭ} {Ү} {ү} {Ұ} {ұ} {Ҳ} {ҳ}
  {Ҵ} {ҵ} {Ҷ} {ҷ} {Ҹ} {ҹ} {Һ} {һ} {Ҽ} {ҽ} {Ҿ} {ҿ} {Ӏ} {Ӄ} {ӄ} {Ӆ}
  {ӆ} {Ӈ} {ӈ} {Ӌ} {ӌ} {Ӎ} {ӎ} {Ӕ} {ӕ} {Ә} {ә} {Ӡ} {ӡ} {Ө} {ө}
 }
 {
  \__recode:c { u8: \tl_to_str:n { #1 } }
 }
\ExplSyntaxOff

\begin{document}

Ё Ђ Є Ѕ І Ј Љ Њ Ћ Ў Џ А Б В Г Д
Е Ж З И Й К Л М Н О П Р С Т У Ф
Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д
е ж з и й к л м н о п р с т у ф
х ц ч ш щ ъ ы ь э ю я ё ђ є ѕ і
ј љ њ ћ ў џ Ѣ ѣ Ѫ ѫ Ѵ ѵ Ґ ґ Ғ ғ
Ҕ ҕ Җ җ Ҙ ҙ Қ қ Ҝ ҝ Ҟ ҟ Ҡ ҡ Ң ң
Ҥ ҥ Ҧ ҧ Ҩ ҩ Ҫ ҫ Ҭ ҭ Ү ү Ұ ұ Ҳ ҳ
Ҵ ҵ Ҷ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ Ӏ Ӄ ӄ Ӆ
ӆ Ӈ ӈ Ӌ ӌ Ӎ ӎ Ӕ ӕ Ә ә Ӡ ӡ Ө ө

\end{document}

If no package exists, I might end up doing something like this:

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\makeatletter
\@tfor\@tempa:=%
{ae}{a}{b}{chrdsc}{chvcrs}{ch}{c}{dje}{dze}{dzhe}{d}{erev}{ery}{e}%
{f}{ghcrs}{gup}{g}{hdsc}{hrdsn}{h}{ie}{ii}{ishrt}{i}{je}%
{kbeak}{kdsc}{kvcrs}{k}{lje}{l}{m}{ndsc}{ng}{nje}{n}{otld}{o}{p}{r}%
{schwa}{sdsc}{sftsn}{shch}{shha}{sh}{s}{tshe}{t}{ushrt}{u}{v}%
{ya}{yhcrs}{yi}{yo}{yu}{y}{zdsc}{zhdsc}{zh}{z}\do{%
    \expandafter\DeclareTextSymbolDefault\expandafter
               {\csname cyr\@tempa\endcsname}{T2A}%
    \expandafter\uppercase\expandafter{\expandafter
                 \def\expandafter\@tempa\expandafter{\@tempa}}%
    \expandafter\DeclareTextSymbolDefault\expandafter
      {\csname CYR\@tempa\endcsname}{T2A}%
}%
\makeatother
\DeclareTextSymbolDefault{\CYRpalochka}{T2A}

%\listfiles
\begin{document}
До свидания!

%\makeatletter
%\show\@uclclist
\end{document}

This was based on regex manipulation of t2aenc.dfu (I compared with t2aenc.def which has also \cyrq, \cyrw, but examination of Unicode Cyrillic block seems to indicate these stand simply for Latin q and w, so without explicit font encoding change in the document they can't be rendered by T2A encoded TeX font, another problem with my hoped-for "no mark-up" approach, besides breaking kerning and not setting up hyphenation).

The \@uclclist contains more \cyr..., presumably from utf8enc.dfu (one does not see it in File List, but I guess because it is loaded in format since TL2018), so using it would mean assigning T2A default font encoding substitution wrongly to some letters. Which is not a problem if the document contains no such letters...

da svidania


The following code is very hacky but still it doesn't make you list all cyrillic commands explicitly. The idea is to take the list somewhere, and there's a uppercase-lowercace conversion list with all \cyr* commands. So looping over @uclclist we can call \DeclareTextSymbolDefault for all cyrillic macros (there are some others in the list, like \OE, \AE, but declaring the default encoding for them seems to be harmless).

\documentclass{article}

\usepackage[T2A,T1]{fontenc}

\makeatletter
\def\myloop#1{%
\ifx\relax#1
  \let\next\relax
\else
  \let\next\myloop
  \DeclareTextSymbolDefault{#1}{T2A}
\fi
\next}
\expandafter\myloop\@uclclist\relax
\makeatother

\begin{document}
До свидания! é, è, ç, \OE, \ae
\end{document}